{"openapi":"3.0.3","info":{"title":"CKApiProxy — Fitnet","version":"1.0.0","description":"API REST devant l'API Fitnet : les opérations d'origine sont regroupées en outils à paramètre « action », complétés par des outils composites. Les identifiants Fitnet (Basic ou Bearer) sont relayés tels quels ; le header X-Origin-Instance choisit l'instance Fitnet. Les réponses sont allégées (sélection de champs, suppression des valeurs vides, masquage IBAN/BIC, pagination)."},"servers":[{"url":"https://apiproxy.g4u.cc"}],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"tags":[{"name":"Outils de regroupement"},{"name":"Outils composites"},{"name":"Service"}],"paths":{"/api/v1/clients":{"post":{"operationId":"clients","summary":"Clients, contacts clients, adresses de clients et liens entre clients et sociétés.","description":"Clients, contacts clients, adresses de clients et liens entre clients et sociétés.\n\nActions :\ncreer_adresse_client, creer_client, creer_contact_client, creer_lien_societe_client, creer_rattachement_commercial_client, lire_adresse_client, lire_client, lire_contact_client, lire_contact_client_par_email, lire_details_client, lister_adresses_clients, lister_adresses_clients_modifiees_depuis, lister_clients, lister_clients_modifies_depuis, lister_contacts_clients, lister_contacts_clients_modifies_depuis, lister_liens_societe_client, modifier_adresse_client, modifier_client, modifier_contact_client, modifier_lien_societe_client, supprimer_adresse_client, supprimer_client, supprimer_contact_client, supprimer_lien_societe_client, supprimer_rattachement_commercial_client\n\n⚠ supprime : supprimer_adresse_client, supprimer_client, supprimer_contact_client, supprimer_lien_societe_client, supprimer_rattachement_commercial_client.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_adresse_client","creer_client","creer_contact_client","creer_lien_societe_client","creer_rattachement_commercial_client","lire_adresse_client","lire_client","lire_contact_client","lire_contact_client_par_email","lire_details_client","lister_adresses_clients","lister_adresses_clients_modifiees_depuis","lister_clients","lister_clients_modifies_depuis","lister_contacts_clients","lister_contacts_clients_modifies_depuis","lister_liens_societe_client","modifier_adresse_client","modifier_client","modifier_contact_client","modifier_lien_societe_client","supprimer_adresse_client","supprimer_client","supprimer_contact_client","supprimer_lien_societe_client","supprimer_rattachement_commercial_client","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/prospects":{"post":{"operationId":"prospects","summary":"Prospects et contacts de prospects.","description":"Prospects et contacts de prospects.\n\nActions (nom — résumé — paramètres requis) :\n- creer_contact_prospect — Create a contact prospect — donnees\n- creer_prospect — Create a prospect — donnees\n- creer_rattachement_commercial_prospect — Create commercials — donnees\n- lire_contact_prospect — Find a contact prospect by its Id — contactProspectId\n- lire_contact_prospect_par_email — Find a contact prospect by its email address — email\n- lire_prospect — Find a prospect by its ID — prospectId\n- lire_prospect_par_email — Find a prospect by its email address — email\n- lister_contacts_prospects — Get all contact prospects from a company (0 means from all companies) — companyId\n- lister_prospects — Get all prospects from a company — companyId\n- modifier_contact_prospect — Update a contact prospect selected by his Id — contactProspectId, donnees\n- modifier_prospect — Update a prospect selected by his ID — prospectId, donnees\n- supprimer_contact_prospect — Delete a contact selected by his Id — contactProspectId\n- supprimer_prospect — Delete a prospect — prospectId\n- supprimer_rattachement_commercial_prospect — Remove a commercial by its Id — prospectId, commercialId\n\n⚠ supprime : supprimer_contact_prospect, supprimer_prospect, supprimer_rattachement_commercial_prospect.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_contact_prospect","creer_prospect","creer_rattachement_commercial_prospect","lire_contact_prospect","lire_contact_prospect_par_email","lire_prospect","lire_prospect_par_email","lister_contacts_prospects","lister_prospects","modifier_contact_prospect","modifier_prospect","supprimer_contact_prospect","supprimer_prospect","supprimer_rattachement_commercial_prospect","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/projets":{"post":{"operationId":"projets","summary":"Projets (affaires), types de projet, statuts de vente, devis de projet et leurs lignes, historique des statuts de vente.","description":"Projets (affaires), types de projet, statuts de vente, devis de projet et leurs lignes, historique des statuts de vente.\n\nActions :\ncreer_devis_projet, creer_ligne_devis_projet, creer_projet, creer_statut_vente_projet, creer_type_projet, lire_devis_projet, lire_ligne_devis_projet, lire_projet, lire_statut_vente_projet, lire_statut_vente_type_projet, lire_type_projet, lister_devis_projet, lister_historique_statuts_vente_projet, lister_projets, lister_projets_modifies_depuis, lister_projets_par_periode, lister_projets_par_statut, lister_projets_statut_change_sur_periode, lister_statuts_vente_projet, lister_statuts_vente_type_projet, modifier_devis_projet, modifier_ligne_devis_projet, modifier_projet, modifier_statut_vente_projet, modifier_type_projet, supprimer_devis_projet, supprimer_ligne_devis_projet, supprimer_projet, supprimer_statut_vente_projet, supprimer_type_projet\n\n⚠ supprime : supprimer_devis_projet, supprimer_ligne_devis_projet, supprimer_projet, supprimer_statut_vente_projet, supprimer_type_projet.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_devis_projet","creer_ligne_devis_projet","creer_projet","creer_statut_vente_projet","creer_type_projet","lire_devis_projet","lire_ligne_devis_projet","lire_projet","lire_statut_vente_projet","lire_statut_vente_type_projet","lire_type_projet","lister_devis_projet","lister_historique_statuts_vente_projet","lister_projets","lister_projets_modifies_depuis","lister_projets_par_periode","lister_projets_par_statut","lister_projets_statut_change_sur_periode","lister_statuts_vente_projet","lister_statuts_vente_type_projet","modifier_devis_projet","modifier_ligne_devis_projet","modifier_projet","modifier_statut_vente_projet","modifier_type_projet","supprimer_devis_projet","supprimer_ligne_devis_projet","supprimer_projet","supprimer_statut_vente_projet","supprimer_type_projet","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/contrats":{"post":{"operationId":"contrats","summary":"Contrats, catégories et types de contrat, statuts de vente, devis de contrat et leurs lignes, corrections et historiques de statut.","description":"Contrats, catégories et types de contrat, statuts de vente, devis de contrat et leurs lignes, corrections et historiques de statut.\n\nActions :\ncreer_categorie_contrat, creer_contrat, creer_devis_contrat, creer_ligne_devis_contrat, creer_type_contrat, lire_categorie_contrat, lire_contrat, lire_devis_contrat, lire_ligne_devis_contrat, lire_statut_vente_contrat, lire_type_contrat, lister_contrats, lister_contrats_modifies_depuis, lister_contrats_par_numero, lister_contrats_par_periode, lister_contrats_par_statut, lister_contrats_statut_change_sur_periode, lister_corrections_contrat, lister_devis_contrat, lister_historique_statuts_contrat, lister_historique_statuts_vente_contrat, lister_lignes_devis_contrat, lister_statuts_vente_contrat, modifier_categorie_contrat, modifier_contrat, modifier_devis_contrat, modifier_ligne_devis_contrat, modifier_type_contrat, supprimer_categorie_contrat, supprimer_contrat, supprimer_devis_contrat, supprimer_ligne_devis_contrat, supprimer_statut_vente_contrat, supprimer_type_contrat\n\n⚠ supprime : supprimer_categorie_contrat, supprimer_contrat, supprimer_devis_contrat, supprimer_ligne_devis_contrat, supprimer_statut_vente_contrat, supprimer_type_contrat.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_categorie_contrat","creer_contrat","creer_devis_contrat","creer_ligne_devis_contrat","creer_type_contrat","lire_categorie_contrat","lire_contrat","lire_devis_contrat","lire_ligne_devis_contrat","lire_statut_vente_contrat","lire_type_contrat","lister_contrats","lister_contrats_modifies_depuis","lister_contrats_par_numero","lister_contrats_par_periode","lister_contrats_par_statut","lister_contrats_statut_change_sur_periode","lister_corrections_contrat","lister_devis_contrat","lister_historique_statuts_contrat","lister_historique_statuts_vente_contrat","lister_lignes_devis_contrat","lister_statuts_vente_contrat","modifier_categorie_contrat","modifier_contrat","modifier_devis_contrat","modifier_ligne_devis_contrat","modifier_type_contrat","supprimer_categorie_contrat","supprimer_contrat","supprimer_devis_contrat","supprimer_ligne_devis_contrat","supprimer_statut_vente_contrat","supprimer_type_contrat","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/facturation":{"post":{"operationId":"facturation","summary":"Factures, facturation consolidée, modes de facturation, acomptes et échéances (dont cotraitants), cotraitants, provisions et écritures comptables.","description":"Factures, facturation consolidée, modes de facturation, acomptes et échéances (dont cotraitants), cotraitants, provisions et écritures comptables.\n\nActions (nom — résumé — paramètres requis) :\n- creer_acompte_echeance — Create a billing due date or a down payment — donnees\n- creer_cotraitant — Create a cocontractor — donnees\n- lire_acompte_echeance — Get down payment or due date by Id — objectId\n- lire_facturation_consolidee — Get consolidated billing — companyId, dateStart, dateEnd, excludeOpportunities\n- lister_acomptes_echeances — Get all contract down payments and due dates — aucun\n- lister_acomptes_echeances_cotraitants — Get down payment or due date by Id — aucun\n- lister_ecritures_comptables_modifiees_depuis — Get all accounting entries who have been lastly updated after a specified date — date\n- lister_factures — Get invoices between two dates. — companyId, customerId, dateStart, dateEnd\n- lister_factures_a_emettre — Get invoices to be issued — companyId, customerId, dateStart, dateEnd\n- lister_factures_modifiees_depuis — Retrieve all invoices who have been lastly updated after a specified date. — date\n- lister_modes_facturation — Get all billing modes — aucun\n- lister_provisions — Get provisions by company, provisions type and month — aucun\n- modifier_acompte_echeance — Update a billing due date or a down payment by its id — objectId, donnees\n- modifier_cotraitant — Update a cocontractor customer selected by his ID — cocontractorId, donnees\n- payer_facture — Update status of invoice from sent to paid (invoices whose status is tracked by the approved platform are rejected) — donnees\n- supprimer_acompte_echeance — Delete a billing due date or a down payment by its id — objectId\n\n⚠ supprime : supprimer_acompte_echeance.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_acompte_echeance","creer_cotraitant","lire_acompte_echeance","lire_facturation_consolidee","lister_acomptes_echeances","lister_acomptes_echeances_cotraitants","lister_ecritures_comptables_modifiees_depuis","lister_factures","lister_factures_a_emettre","lister_factures_modifiees_depuis","lister_modes_facturation","lister_provisions","modifier_acompte_echeance","modifier_cotraitant","payer_facture","supprimer_acompte_echeance","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/livrables":{"post":{"operationId":"livrables","summary":"Livrables et leurs ventes, jalons de production, production prévue, initiale et réalisée.","description":"Livrables et leurs ventes, jalons de production, production prévue, initiale et réalisée.\n\nActions (nom — résumé — paramètres requis) :\n- creer_livrable — Create deliverables — donnees\n- creer_vente_livrable — Create deliverables — donnees\n- lire_livrable — Get deliverable by its Id — deliverableId\n- lire_vente_livrable — Get deliverable by its Id — deliverableId\n- lister_devis_production — Get quote delivery amounts — companyId, dateStart, dateEnd, excludeOpportunities\n- lister_jalons_production — Get Milestones from Company for a specific date, billing mode and status — aucun\n- lister_livrables — Get deliverables — companyId, dateStart, dateEnd, excludeOpportunities\n- lister_production_initiale — Get initial production delivery amounts — companyId, dateStart, dateEnd, excludeOpportunities\n- lister_production_prevue — Get initial production delivery amounts — companyId, dateStart, dateEnd, excludeOpportunities\n- lister_production_realisee — Get completed production amounts — companyId, dateStart, dateEnd, excludeOpportunities\n- modifier_jalon_production — Update specific Milestone by Id — milestoneId, donnees\n- modifier_livrable — Update a list of deliverables(input should be: [{..}, {..}, ...]) — donnees\n- modifier_vente_livrable — Update a list of deliverables — donnees\n- supprimer_livrable — Delete deliverables selected by a list of their IDs — donnees\n- supprimer_vente_livrable — Delete sales deliverable selected by a list of their IDs — donnees\n\n⚠ supprime : supprimer_livrable, supprimer_vente_livrable.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_livrable","creer_vente_livrable","lire_livrable","lire_vente_livrable","lister_devis_production","lister_jalons_production","lister_livrables","lister_production_initiale","lister_production_prevue","lister_production_realisee","modifier_jalon_production","modifier_livrable","modifier_vente_livrable","supprimer_livrable","supprimer_vente_livrable","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/salaries":{"post":{"operationId":"salaries","summary":"Salariés, leurs contacts, adresses, comptes, coordonnées bancaires (BIC), véhicules et jours fériés.","description":"Salariés, leurs contacts, adresses, comptes, coordonnées bancaires (BIC), véhicules et jours fériés.\n\nActions :\ncreer_adresse_salarie, creer_bic_salarie, creer_compte_salarie, creer_contact_salarie, creer_salarie, detacher_jour_ferie_salarie, lire_adresse_salarie, lire_compte_salarie, lire_salarie, lister_adresses_salaries, lister_bic_salaries, lister_comptes_salaries, lister_contacts_salaries, lister_jours_feries_salaries, lister_salaries, lister_salaries_modifies_depuis, lister_salaries_par_societe, lister_vehicules_par_salarie, lister_vehicules_salaries, modifier_adresse_salarie, modifier_bic_salarie, modifier_compte_salarie, modifier_contact_salarie, modifier_salarie, rattacher_jour_ferie_salarie, supprimer_adresse_salarie, supprimer_bic_salarie, supprimer_compte_salarie, supprimer_contact_salarie\n\n⚠ supprime : detacher_jour_ferie_salarie, supprimer_adresse_salarie, supprimer_bic_salarie, supprimer_compte_salarie, supprimer_contact_salarie.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_adresse_salarie","creer_bic_salarie","creer_compte_salarie","creer_contact_salarie","creer_salarie","detacher_jour_ferie_salarie","lire_adresse_salarie","lire_compte_salarie","lire_salarie","lister_adresses_salaries","lister_bic_salaries","lister_comptes_salaries","lister_contacts_salaries","lister_jours_feries_salaries","lister_salaries","lister_salaries_modifies_depuis","lister_salaries_par_societe","lister_vehicules_par_salarie","lister_vehicules_salaries","modifier_adresse_salarie","modifier_bic_salarie","modifier_compte_salarie","modifier_contact_salarie","modifier_salarie","rattacher_jour_ferie_salarie","supprimer_adresse_salarie","supprimer_bic_salarie","supprimer_compte_salarie","supprimer_contact_salarie","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/contrats_travail":{"post":{"operationId":"contrats_travail","summary":"Contrats de travail des salariés, modèles et types de contrat de travail.","description":"Contrats de travail des salariés, modèles et types de contrat de travail.\n\nActions (nom — résumé — paramètres requis) :\n- creer_contrat_travail — Create an employment contract — donnees\n- creer_contrat_travail_depuis_modele — Create an employment contract with model — collabId, modelId, gross_annual_salary\n- lire_contrat_travail — Find an employment contract by its ID — employment_contract_id\n- lister_contrats_travail — Get all employment contracts — aucun\n- lister_contrats_travail_par_societe — Get all employment contracts from a company — companyId\n- lister_modeles_contrat_travail — Get all contracts models — aucun\n- lister_types_contrat — Get all types of employment contract — aucun\n- lister_types_contrat_par_societe — Get all types of employment contract for one company — companyId\n- modifier_contrat_travail — Update an employment contract by its Id (value of -1 will delete the link with a Timetable or Workdays) — employmentContractId, donnees\n- supprimer_contrat_travail — Delete an employment contract — employment_contract_id\n\n⚠ supprime : supprimer_contrat_travail.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_contrat_travail","creer_contrat_travail_depuis_modele","lire_contrat_travail","lister_contrats_travail","lister_contrats_travail_par_societe","lister_modeles_contrat_travail","lister_types_contrat","lister_types_contrat_par_societe","modifier_contrat_travail","supprimer_contrat_travail","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/remuneration":{"post":{"operationId":"remuneration","summary":"Rémunération variable (plans et attributions), primes, avances, coûts réels mensuels, coûts et coefficients.","description":"Rémunération variable (plans et attributions), primes, avances, coûts réels mensuels, coûts et coefficients.\n\nActions :\ncreer_cout_reel_mensuel, creer_plan_remuneration_variable, creer_prime_salarie, creer_remuneration_variable, lire_avance, lire_plan_remuneration_variable, lire_prime_salarie, lire_remuneration_variable, lister_avances, lister_avances_par_salarie, lister_avances_par_type, lister_coefficients, lister_couts, lister_couts_reels_mensuels, lister_plans_remuneration_variable, lister_primes_salaries, lister_remunerations_variables, modifier_cout_reel_mensuel, modifier_plan_remuneration_variable, modifier_prime_salarie, modifier_remuneration_variable, supprimer_cout_reel_mensuel, supprimer_plan_remuneration_variable, supprimer_prime_salarie, supprimer_remuneration_variable\n\n⚠ supprime : supprimer_cout_reel_mensuel, supprimer_plan_remuneration_variable, supprimer_prime_salarie, supprimer_remuneration_variable.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_cout_reel_mensuel","creer_plan_remuneration_variable","creer_prime_salarie","creer_remuneration_variable","lire_avance","lire_plan_remuneration_variable","lire_prime_salarie","lire_remuneration_variable","lister_avances","lister_avances_par_salarie","lister_avances_par_type","lister_coefficients","lister_couts","lister_couts_reels_mensuels","lister_plans_remuneration_variable","lister_primes_salaries","lister_remunerations_variables","modifier_cout_reel_mensuel","modifier_plan_remuneration_variable","modifier_prime_salarie","modifier_remuneration_variable","supprimer_cout_reel_mensuel","supprimer_plan_remuneration_variable","supprimer_prime_salarie","supprimer_remuneration_variable","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/conges":{"post":{"operationId":"conges","summary":"Demandes de congés, pièces jointes, répartitions, types de congé, compteurs et configurations par salarié.","description":"Demandes de congés, pièces jointes, répartitions, types de congé, compteurs et configurations par salarié.\n\nActions (nom — résumé) :\n- creer_configuration_type_conge_salarie — Create an employee leave type configuration\n- creer_conge — Create a leave\n- creer_conge_multi_types — Create or update a leave made of several absence types\n- lire_configuration_conges — Get the leave configuration of a company\n- lire_configuration_type_conge — Get the leave type display configuration of a company\n- lire_conges_avec_repartition — Get leaves from a company during a specfic month with its repartition\n- lire_piece_jointe_conge — List the attachments of a leave\n- lister_compteurs_type_conge — Get leave type counters\n- lister_configurations_type_conge_salarie — Get employee leave type configuration\n- lister_conges — List the leaves of a company for a month\n- lister_conges_avec_repartition_par_salarie — Get leaves from a collaborator during a specfic month\n- lister_conges_modifies_depuis — Retrieve all leaves who have been lastly updated after a specified date\n- lister_conges_par_salarie — List an employee's leaves for a month\n- lister_conges_repartition_paie — Get leaves from a company during a specfic month with its repartition\n- lister_types_conge — Get all Leave types\n- lister_types_conge_par_salarie — Get all Leave types from collaborator\n- lister_types_conge_salarie_a_date — List the leave types and balances of an employee at a date\n- modifier_compteur_type_conge — Edit leave type counters\n- modifier_configuration_type_conge_salarie — Update an employee leave type configuration\n- soumettre_conges — Submit leaves of an employee for validation\n- supprimer_conge — Delete a contract selected by its ID\n\n⚠ supprime : supprimer_conge.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_configuration_type_conge_salarie","creer_conge","creer_conge_multi_types","lire_configuration_conges","lire_configuration_type_conge","lire_conges_avec_repartition","lire_piece_jointe_conge","lister_compteurs_type_conge","lister_configurations_type_conge_salarie","lister_conges","lister_conges_avec_repartition_par_salarie","lister_conges_modifies_depuis","lister_conges_par_salarie","lister_conges_repartition_paie","lister_types_conge","lister_types_conge_par_salarie","lister_types_conge_salarie_a_date","modifier_compteur_type_conge","modifier_configuration_type_conge_salarie","soumettre_conges","supprimer_conge","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/temps":{"post":{"operationId":"temps","summary":"Feuilles de temps, activités, activités prévues et hors contrat, affectations (contrat, hors contrat, formation) et emplois du temps.","description":"Feuilles de temps, activités, activités prévues et hors contrat, affectations (contrat, hors contrat, formation) et emplois du temps.\n\nActions :\ncreer_activite_prevue, creer_affectation_contrat, creer_affectation_formation, creer_emploi_du_temps, creer_feuille_temps, lire_emploi_du_temps, lister_activites, lister_activites_hors_contrat, lister_activites_modifiees_depuis, lister_activites_non_contractuelles, lister_activites_prevues, lister_activites_sur_contrat, lister_affectations, lister_affectations_contrat, lister_affectations_contrat_par_contrat, lister_affectations_contrat_par_societe_et_mois, lister_affectations_feuille_temps, lister_affectations_formation, lister_affectations_hors_contrat, lister_feuilles_temps, modifier_activite_prevue, modifier_affectation_contrat, modifier_affectation_formation, modifier_emploi_du_temps, modifier_feuille_temps, soumettre_feuilles_temps, supprimer_activite_prevue, supprimer_affectation_contrat, supprimer_affectation_formation, supprimer_feuille_temps\n\n⚠ supprime : supprimer_activite_prevue, supprimer_affectation_contrat, supprimer_affectation_formation, supprimer_feuille_temps.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_activite_prevue","creer_affectation_contrat","creer_affectation_formation","creer_emploi_du_temps","creer_feuille_temps","lire_emploi_du_temps","lister_activites","lister_activites_hors_contrat","lister_activites_modifiees_depuis","lister_activites_non_contractuelles","lister_activites_prevues","lister_activites_sur_contrat","lister_affectations","lister_affectations_contrat","lister_affectations_contrat_par_contrat","lister_affectations_contrat_par_societe_et_mois","lister_affectations_feuille_temps","lister_affectations_formation","lister_affectations_hors_contrat","lister_feuilles_temps","modifier_activite_prevue","modifier_affectation_contrat","modifier_affectation_formation","modifier_emploi_du_temps","modifier_feuille_temps","soumettre_feuilles_temps","supprimer_activite_prevue","supprimer_affectation_contrat","supprimer_affectation_formation","supprimer_feuille_temps","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/activites_horaires":{"post":{"operationId":"activites_horaires","summary":"Activités horaires, taux horaires (normal, férié, libre) et grilles tarifaires rattachées aux entités.","description":"Activités horaires, taux horaires (normal, férié, libre) et grilles tarifaires rattachées aux entités.\n\nActions (nom — résumé) :\n- creer_activite_horaire — Create an hourly activity\n- creer_grille_tarifaire — Create a price list\n- creer_taux_horaire_ferie — Create a hourly rate holiday\n- creer_taux_horaire_libre — Create a hourly rate with time slot type free\n- creer_taux_horaire_normal — Create a hourly rate with time slot type normal\n- detacher_grille_tarifaire_entite — Attach a price list to an entity\n- lister_activites_horaires — Get all hourly activities by employee, date and company\n- lister_grilles_tarifaires — Get all price lists by company and dates\n- lister_taux_horaires — Get all hourly rates by price list Id\n- lister_types_activite_horaire — Get all hourly activity types by company and time slot type (free or normal)\n- modifier_activite_horaire — Update an hourly activity\n- modifier_grille_tarifaire — Update a price list by its ID\n- modifier_taux_horaire_ferie — Update a hourly rate holiday\n- modifier_taux_horaire_libre — Update a hourly rate with time slot type free\n- modifier_taux_horaire_normal — Update a hourly rate with time slot type normal\n- rattacher_grille_tarifaire_entite — Attach a price list to an entity\n- supprimer_activite_horaire — Remove an hourly activity by its ID\n- supprimer_grille_tarifaire — Remove a price list by its ID\n- supprimer_taux_horaire — Remove a hourly rate by its ID\n\n⚠ supprime : detacher_grille_tarifaire_entite, supprimer_activite_horaire, supprimer_grille_tarifaire, supprimer_taux_horaire.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_activite_horaire","creer_grille_tarifaire","creer_taux_horaire_ferie","creer_taux_horaire_libre","creer_taux_horaire_normal","detacher_grille_tarifaire_entite","lister_activites_horaires","lister_grilles_tarifaires","lister_taux_horaires","lister_types_activite_horaire","modifier_activite_horaire","modifier_grille_tarifaire","modifier_taux_horaire_ferie","modifier_taux_horaire_libre","modifier_taux_horaire_normal","rattacher_grille_tarifaire_entite","supprimer_activite_horaire","supprimer_grille_tarifaire","supprimer_taux_horaire","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/heures_sup":{"post":{"operationId":"heures_sup","summary":"Heures supplémentaires et barèmes d'heures supplémentaires, avec leur rattachement aux sociétés, BU, équipes, profils, salariés et types de contrat.","description":"Heures supplémentaires et barèmes d'heures supplémentaires, avec leur rattachement aux sociétés, BU, équipes, profils, salariés et types de contrat.\n\nActions (nom — résumé) :\n- ajouter_ligne_bareme_heures_sup — add Over Time Hours Line\n- creer_bareme_heures_sup — Create a Schedule Overtime hours\n- detacher_bareme_heures_sup_d_equipe — detach schedules from team \n- detacher_bareme_heures_sup_de_bu — detach schedules from businessUnit \n- detacher_bareme_heures_sup_de_profil — detach schedules from profile \n- detacher_bareme_heures_sup_de_salarie — detach schedules from employee \n- detacher_bareme_heures_sup_de_societe — detach schedules from societe \n- detacher_bareme_heures_sup_de_type_contrat — detach schedules from contract type \n- lister_baremes_heures_sup — Get all schedules by dates \n- lister_heures_sup — Retrieve employee hours with query params [employeeId/companyId/year/month] \n- modifier_bareme_heures_sup — update a Schedule Overtime hours\n- rattacher_bareme_heures_sup_a_bu — attach schedules to societe \n- rattacher_bareme_heures_sup_a_equipe — attach schedules to team \n- rattacher_bareme_heures_sup_a_profil — attach schedules to profile \n- rattacher_bareme_heures_sup_a_salarie — attach schedules to employee \n- rattacher_bareme_heures_sup_a_societe — attach schedules to societe \n- rattacher_bareme_heures_sup_a_type_contrat — attach schedules to contract type \n- supprimer_bareme_heures_sup — update a Schedule Overtime hours\n\n⚠ supprime : supprimer_bareme_heures_sup.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["ajouter_ligne_bareme_heures_sup","creer_bareme_heures_sup","detacher_bareme_heures_sup_d_equipe","detacher_bareme_heures_sup_de_bu","detacher_bareme_heures_sup_de_profil","detacher_bareme_heures_sup_de_salarie","detacher_bareme_heures_sup_de_societe","detacher_bareme_heures_sup_de_type_contrat","lister_baremes_heures_sup","lister_heures_sup","modifier_bareme_heures_sup","rattacher_bareme_heures_sup_a_bu","rattacher_bareme_heures_sup_a_equipe","rattacher_bareme_heures_sup_a_profil","rattacher_bareme_heures_sup_a_salarie","rattacher_bareme_heures_sup_a_societe","rattacher_bareme_heures_sup_a_type_contrat","supprimer_bareme_heures_sup","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/staffing":{"post":{"operationId":"staffing","summary":"Staffing mensuel réel et prévu, par salarié ou par société.","description":"Staffing mensuel réel et prévu, par salarié ou par société.\n\nActions (nom — résumé — paramètres requis) :\n- lire_staffing_prevu_salarie — Get estimated monthly staffing for an employee — employeeId, month, pipeline, excludeOpportunities\n- lire_staffing_reel_salarie — Get real monthly staffing for an employee — employeeId, month\n- lister_staffing_prevu — Get estimated monthly staffing for an employee — aucun\n- lister_staffing_prevu_par_societe — Get estimated monthly staffing for all employees of a company — companyId, month, pipeline, excludeOpportunities, employeeStatus\n- lister_staffing_reel — Get assignments on contracted activities — aucun\n- lister_staffing_reel_par_societe — Get real monthly staffing for all employees of a company — companyId, month, employeeStatus\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["lire_staffing_prevu_salarie","lire_staffing_reel_salarie","lister_staffing_prevu","lister_staffing_prevu_par_societe","lister_staffing_reel","lister_staffing_reel_par_societe","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/taches":{"post":{"operationId":"taches","summary":"Tâches (suivi des échanges) et types de tâche.","description":"Tâches (suivi des échanges) et types de tâche.\n\nActions (nom — résumé — paramètres requis) :\n- creer_tache — Create a task — donnees\n- lire_tache — Get a task selected by its Id — taskId\n- lister_taches — List the contract exchange follow-up tasks — aucun\n- lister_taches_par_client — Get all the tasks with a specific customer — customerId\n- lister_taches_par_periode — Get tasks between two dates — keyword, dateStart, dateEnd\n- lister_taches_recentes — Get last N(max) tasks — max\n- lister_types_tache — Get all the tasks types — aucun\n- supprimer_tache — Delete a task selected by its Id — taskId\n\n⚠ supprime : supprimer_tache.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_tache","lire_tache","lister_taches","lister_taches_par_client","lister_taches_par_periode","lister_taches_recentes","lister_types_tache","supprimer_tache","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/achats":{"post":{"operationId":"achats","summary":"Achats simples, multi-affaires et récurrents avec leurs lignes, suivi des achats, natures d'achat et achats de sous-traitance.","description":"Achats simples, multi-affaires et récurrents avec leurs lignes, suivi des achats, natures d'achat et achats de sous-traitance.\n\nActions :\ncreer_achat_multi_affaires, creer_achat_recurrent, creer_achat_simple, creer_ligne_achat_multi_affaires, creer_ligne_achat_simple, lister_achats_multi_affaires, lister_achats_recurrents, lister_achats_recurrents_modifies_depuis, lister_achats_simples, lister_achats_simples_modifies_depuis, lister_achats_sous_traitance, lister_natures_achat, lister_statuts_suivi_achats, lister_suivi_achats, modifier_achat_multi_affaires, modifier_achat_recurrent, modifier_achat_simple, modifier_ligne_achat_multi_affaires, modifier_ligne_achat_simple, supprimer_achat_multi_affaires, supprimer_achat_recurrent, supprimer_achat_simple, supprimer_ligne_achat_multi_affaires, supprimer_ligne_achat_simple\n\n⚠ supprime : supprimer_achat_multi_affaires, supprimer_achat_recurrent, supprimer_achat_simple, supprimer_ligne_achat_multi_affaires, supprimer_ligne_achat_simple.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_achat_multi_affaires","creer_achat_recurrent","creer_achat_simple","creer_ligne_achat_multi_affaires","creer_ligne_achat_simple","lister_achats_multi_affaires","lister_achats_recurrents","lister_achats_recurrents_modifies_depuis","lister_achats_simples","lister_achats_simples_modifies_depuis","lister_achats_sous_traitance","lister_natures_achat","lister_statuts_suivi_achats","lister_suivi_achats","modifier_achat_multi_affaires","modifier_achat_recurrent","modifier_achat_simple","modifier_ligne_achat_multi_affaires","modifier_ligne_achat_simple","supprimer_achat_multi_affaires","supprimer_achat_recurrent","supprimer_achat_simple","supprimer_ligne_achat_multi_affaires","supprimer_ligne_achat_simple","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/fournisseurs":{"post":{"operationId":"fournisseurs","summary":"Fournisseurs et contacts fournisseurs.","description":"Fournisseurs et contacts fournisseurs.\n\nActions (nom — résumé — paramètres requis) :\n- creer_contact_fournisseur — Create supplier contact — donnees\n- creer_fournisseur — Create a supplier — donnees\n- lister_contacts_fournisseurs — Get supplier contacts — companyId, status\n- lister_fournisseurs — Get suppliers — companyId, status\n- modifier_contact_fournisseur — Update supplier contact — donnees\n- modifier_fournisseur — Update a supplier — supplierId, donnees\n- supprimer_contact_fournisseur — Delete a contact supplier by its id — contactSupplierId\n\n⚠ supprime : supprimer_contact_fournisseur.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_contact_fournisseur","creer_fournisseur","lister_contacts_fournisseurs","lister_fournisseurs","modifier_contact_fournisseur","modifier_fournisseur","supprimer_contact_fournisseur","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/frais":{"post":{"operationId":"frais","summary":"Notes de frais (saisie, soumission, statut) et catégories de frais.","description":"Notes de frais (saisie, soumission, statut) et catégories de frais.\n\nActions (nom — résumé — paramètres requis) :\n- creer_frais — Create a expense — donnees\n- lister_categories_frais — Get expenses categories — companyId\n- lister_categories_frais_saisie — List the expense categories available for an employee's entry — collabId\n- lister_frais_modifies_depuis — Get expenses by last update date — date\n- modifier_frais — Modify an expense — expenseId, donnees\n- modifier_statut_frais — Set an expense sheet to open or complete — month, year, donnees\n- soumettre_frais — Submit one or more expenses to workflow for the collaborator linked to the authenticated user. — month, year, donnees\n- supprimer_frais — Delete one or more expenses — collaborateurId, donnees\n\n⚠ supprime : supprimer_frais.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_frais","lister_categories_frais","lister_categories_frais_saisie","lister_frais_modifies_depuis","modifier_frais","modifier_statut_frais","soumettre_frais","supprimer_frais","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/recrutement":{"post":{"operationId":"recrutement","summary":"Candidats, statuts de recrutement et leur historique, appels d'offres.","description":"Candidats, statuts de recrutement et leur historique, appels d'offres.\n\nActions (nom — résumé — paramètres requis) :\n- creer_candidat — Create a candidate — donnees\n- lire_appel_offres_candidat — Retrieve a specific link between a Candidate and a Call for Tender by its id — candidateCallForTenderId\n- lire_candidat — Find a candidate by its ID — candidateId\n- lister_appels_offres — get call for tenders — aucun\n- lister_appels_offres_candidats — Retrieve links between Candidate and Call for Tender according to several query parameters — aucun\n- lister_candidats — Get all candidates — aucun\n- lister_candidats_par_societe — Get all candidates from a company — companyId\n- lister_historique_statuts_recrutement — Get all recruitment status history by companyId and employeeId — aucun\n- lister_statuts_recrutement — Get all recruitment status — aucun\n- lister_statuts_recrutement_par_societe — Get all recruitment status from a company — companyId\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_candidat","lire_appel_offres_candidat","lire_candidat","lister_appels_offres","lister_appels_offres_candidats","lister_candidats","lister_candidats_par_societe","lister_historique_statuts_recrutement","lister_statuts_recrutement","lister_statuts_recrutement_par_societe","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":false}}},"/api/v1/competences":{"post":{"operationId":"competences","summary":"Compétences et types de compétence (salariés et candidats), cursus et sessions de formation.","description":"Compétences et types de compétence (salariés et candidats), cursus et sessions de formation.\n\nActions (nom — résumé — paramètres requis) :\n- creer_cursus — Create a training record (cursus) for an employee — employeeId, donnees\n- lire_configuration_cursus — Get the training record configuration of a company — societeId\n- lire_cursus — List the training records (cursus) of an employee — employeeId\n- lire_cursus_par_salarie_et_mois — List an employee's training records for a month — employeeId, month, year\n- lire_piece_jointe_cursus — List the attachments of a training record — cursusId\n- lister_competences — Get all skills — aucun\n- lister_competences_attribuees — Get all assigned skills — aucun\n- lister_competences_attribuees_par_societe — Find all assigned skills of a company/service — companyId\n- lister_competences_candidats — Find candidates'skills of a company/service — companyId\n- lister_competences_par_societe — Find all skills of a company/service — companyId\n- lister_competences_salaries — Find skills of a specified employee or of all employee — aucun\n- lister_competences_salaries_par_societe — Find employees'skills of a company/service — companyId\n- lister_sessions_formation — Get training sessions — companyId\n- lister_types_competence — Get all types of skills — aucun\n- lister_types_competence_par_societe — Find all skill types of a company/service — companyId\n- modifier_cursus — Update a training record (cursus) — cursusId, donnees\n- soumettre_cursus — Submit a training record (cursus) for validation — cursusId\n- supprimer_cursus — Delete a training record (cursus) — cursusId\n\n⚠ supprime : supprimer_cursus.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_cursus","lire_configuration_cursus","lire_cursus","lire_cursus_par_salarie_et_mois","lire_piece_jointe_cursus","lister_competences","lister_competences_attribuees","lister_competences_attribuees_par_societe","lister_competences_candidats","lister_competences_par_societe","lister_competences_salaries","lister_competences_salaries_par_societe","lister_sessions_formation","lister_types_competence","lister_types_competence_par_societe","modifier_cursus","soumettre_cursus","supprimer_cursus","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/organisation":{"post":{"operationId":"organisation","summary":"Business units (BU) et leur historique, types, niveaux, responsables et rattachements, équipes, sociétés, jours fériés, profils, rôles, utilisateurs, délégations de workflow et mois clôturés.","description":"Business units (BU) et leur historique, types, niveaux, responsables et rattachements, équipes, sociétés, jours fériés, profils, rôles, utilisateurs, délégations de workflow et mois clôturés.\n\nActions :\ncreer_bu, creer_bu_a_date, creer_delegation_workflow, creer_equipe, creer_profil, creer_rattachement_bu_parente, creer_rattachement_bu_subdivision, creer_referent_bu, creer_responsable_bu, creer_type_bu, creer_utilisateur, delier_responsable_equipe, delier_societe_equipe, lier_responsable_equipe, lier_societe_equipe, lire_delegation_workflow, lire_role, lire_utilisateur, lire_utilisateur_par_login, lister_bu, lister_bu_a_date, lister_equipes, lister_equipes_par_societe, lister_jours_feries_societe, lister_mois_clotures_par_societe, lister_niveaux_bu, lister_profils, lister_profils_par_societe, lister_roles, lister_societes, lister_types_bu, lister_utilisateurs_par_societe, modifier_bu, modifier_bu_a_date, modifier_delegation_workflow, modifier_equipe, modifier_profil, modifier_type_bu, modifier_utilisateur, supprimer_bu_a_date, supprimer_delegation_workflow, supprimer_rattachement_bu, supprimer_referent_bu, supprimer_responsable_bu, supprimer_utilisateur\n\n⚠ supprime : delier_responsable_equipe, delier_societe_equipe, supprimer_bu_a_date, supprimer_delegation_workflow, supprimer_rattachement_bu, supprimer_referent_bu, supprimer_responsable_bu, supprimer_utilisateur.\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["creer_bu","creer_bu_a_date","creer_delegation_workflow","creer_equipe","creer_profil","creer_rattachement_bu_parente","creer_rattachement_bu_subdivision","creer_referent_bu","creer_responsable_bu","creer_type_bu","creer_utilisateur","delier_responsable_equipe","delier_societe_equipe","lier_responsable_equipe","lier_societe_equipe","lire_delegation_workflow","lire_role","lire_utilisateur","lire_utilisateur_par_login","lister_bu","lister_bu_a_date","lister_equipes","lister_equipes_par_societe","lister_jours_feries_societe","lister_mois_clotures_par_societe","lister_niveaux_bu","lister_profils","lister_profils_par_societe","lister_roles","lister_societes","lister_types_bu","lister_utilisateurs_par_societe","modifier_bu","modifier_bu_a_date","modifier_delegation_workflow","modifier_equipe","modifier_profil","modifier_type_bu","modifier_utilisateur","supprimer_bu_a_date","supprimer_delegation_workflow","supprimer_rattachement_bu","supprimer_referent_bu","supprimer_responsable_bu","supprimer_utilisateur","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":false,"destructiveHint":true}}},"/api/v1/referentiels":{"post":{"operationId":"referentiels","summary":"Référentiels : secteurs, segments, statuts, types de prestation, conditions générales et rapports globaux.","description":"Référentiels : secteurs, segments, statuts, types de prestation, conditions générales et rapports globaux.\n\nActions (nom — résumé — paramètres requis) :\n- lire_conditions_generales — Find specific general terms by its Id — generalTermsId\n- lire_rapport_global_annee_precedente — Get global report for the past year — companyId\n- lister_conditions_generales — Find all general terms according to several criteria — aucun\n- lister_rapports_globaux — Get global report between two dates, returning only the fields specified by the 'fields' query parameter. — companyId, dateStart, dateEnd, fields\n- lister_secteurs — Get all sectors — aucun\n- lister_segments — Get all segments — aucun\n- lister_statuts — Get all status — aucun\n- lister_types_prestation — Get types of Services — companyId\n\nDétail d'une action (paramètres, formats de date, schéma de « donnees ») : action « aide » avec params.action = \"<nom>\". Sans params.action, « aide » liste les actions.","tags":["Outils de regroupement"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"type":"string","enum":["lire_conditions_generales","lire_rapport_global_annee_precedente","lister_conditions_generales","lister_rapports_globaux","lister_secteurs","lister_segments","lister_statuts","lister_types_prestation","aide"],"description":"Action à exécuter, ou « aide »."},"params":{"type":"object","additionalProperties":true,"description":"Paramètres de chemin et de requête de l'opération d'origine, sous leur nom d'origine."},"donnees":{"type":"object","additionalProperties":true,"description":"Corps envoyé à l'origine (création, mise à jour)."},"champs":{"type":"array","items":{"type":"string"},"description":"Champs gardés dans la réponse (notation pointée)."},"page":{"type":"integer","minimum":1,"default":1},"limite":{"type":"integer","minimum":1,"maximum":200,"default":50}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseOutil"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/fiche_client":{"post":{"operationId":"fiche_client","summary":"Fiche complète d'un client","description":"Fiche complète d'un client : détails, contacts, adresses, projets et contrats du client (projets et contrats cherchés dans les sociétés liées au client).\n\nOutil composite en lecture seule : plusieurs appels à l'origine, listes plafonnées à 50 éléments avec leur total ; une section en échec est remplacée par { \"erreur\": { \"code\", \"message\" } }.","tags":["Outils composites"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id_client"],"properties":{"id_client":{"type":"integer","description":"Identifiant Fitnet du client."}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseComposite"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/synthese_contrat":{"post":{"operationId":"synthese_contrat","summary":"Synthèse d'un contrat","description":"Synthèse d'un contrat : contrat, devis avec leurs lignes, acomptes et échéances, factures et affectations. Devis, échéances et factures sont cherchés sur la période du contrat.\n\nOutil composite en lecture seule : plusieurs appels à l'origine, listes plafonnées à 50 éléments avec leur total ; une section en échec est remplacée par { \"erreur\": { \"code\", \"message\" } }.","tags":["Outils composites"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id_contrat"],"properties":{"id_contrat":{"type":"integer","description":"Identifiant Fitnet du contrat."}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseComposite"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/fiche_salarie":{"post":{"operationId":"fiche_salarie","summary":"Fiche d'un salarié","description":"Fiche d'un salarié : identité, contrats de travail, équipe et BU (avec l'historique des BU), congés de l'année et compétences.\n\nOutil composite en lecture seule : plusieurs appels à l'origine, listes plafonnées à 50 éléments avec leur total ; une section en échec est remplacée par { \"erreur\": { \"code\", \"message\" } }.","tags":["Outils composites"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id_salarie"],"properties":{"id_salarie":{"type":"integer","description":"Identifiant Fitnet du salarié."},"annee":{"type":"integer","description":"Année des congés (4 chiffres), par défaut l'année en cours."}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseComposite"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/activite_mois":{"post":{"operationId":"activite_mois","summary":"Activité d'un mois pour un salarié ou une société","description":"Activité d'un mois pour un salarié ou une société : staffing réel et prévu (pipeline brut, opportunités incluses) et feuilles de temps du mois. Fournir id_salarie ou id_societe.\n\nOutil composite en lecture seule : plusieurs appels à l'origine, listes plafonnées à 50 éléments avec leur total ; une section en échec est remplacée par { \"erreur\": { \"code\", \"message\" } }.","tags":["Outils composites"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["mois"],"properties":{"mois":{"type":"string","description":"Mois au format MM-yyyy.","pattern":"^(0[1-9]|1[0-2])-\\d{4}$"},"id_salarie":{"type":"integer","description":"Identifiant du salarié (ou id_societe)."},"id_societe":{"type":"integer","description":"Identifiant de la société (ou id_salarie)."}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseComposite"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/api/v1/pipeline_commercial":{"post":{"operationId":"pipeline_commercial","summary":"Pipeline commercial d'une période","description":"Pipeline commercial d'une période : projets et contrats de la période, comptés et listés par statut de vente. Sans id_societe, toutes les sociétés accessibles sont parcourues.\n\nOutil composite en lecture seule : plusieurs appels à l'origine, listes plafonnées à 50 éléments avec leur total ; une section en échec est remplacée par { \"erreur\": { \"code\", \"message\" } }.","tags":["Outils composites"],"parameters":[{"$ref":"#/components/parameters/XOriginInstance"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["debut","fin"],"properties":{"debut":{"type":"string","description":"Début (dd-MM-yyyy).","pattern":"^(0[1-9]|[12]\\d|3[01])-(0[1-9]|1[0-2])-\\d{4}$"},"fin":{"type":"string","description":"Fin (dd-MM-yyyy).","pattern":"^(0[1-9]|[12]\\d|3[01])-(0[1-9]|1[0-2])-\\d{4}$"},"id_societe":{"type":"integer","description":"Société à analyser (par défaut toutes)."}}}}}},"responses":{"200":{"description":"Succès.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReponseComposite"}}}},"400":{"description":"Requête invalide : REQUETE_INVALIDE, ACTION_INCONNUE, PARAMETRE_MANQUANT, PARAMETRE_INCONNU, INSTANCE_INVALIDE ou ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"IDENTIFIANTS_MANQUANTS ou ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"403":{"description":"ORIGINE_NON_AUTORISE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"OUTIL_INCONNU ou INTROUVABLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"ORIGINE_REQUETE_REFUSEE (conflit côté origine).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"REQUETE_TROP_GROSSE (corps > 256 Ko).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"422":{"description":"ORIGINE_REQUETE_REFUSEE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"ORIGINE_SATUREE (voir le header Retry-After).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}},"headers":{"Retry-After":{"schema":{"type":"integer"}}}},"500":{"description":"ERREUR_INTERNE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"ORIGINE_INDISPONIBLE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"504":{"description":"ORIGINE_DELAI_DEPASSE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}},"x-mcp-annotations":{"readOnlyHint":true}}},"/sante":{"get":{"operationId":"sante","summary":"État du service","description":"Indique que le proxy répond, avec sa version et son environnement. N'appelle pas l'origine.","tags":["Service"],"security":[],"responses":{"200":{"description":"Service disponible.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"version":{"type":"string"},"env":{"type":"string"}}}}}}},"x-mcp-annotations":{"readOnlyHint":true}}}},"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"bearerAuth":{"type":"http","scheme":"bearer","description":"Jeton Keycloak, vérifié par l'instance quand elle est configurée pour Keycloak."}},"parameters":{"XOriginInstance":{"name":"X-Origin-Instance","in":"header","required":false,"description":"Sous-domaine de l'instance Fitnet (https://<instance>.fitnetmanager.com). Par défaut : evaluation.","schema":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,62}$"}}},"schemas":{"Erreur":{"type":"object","required":["erreur"],"properties":{"erreur":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Code en SNAKE_CASE."},"message":{"type":"string","description":"Message en français."},"details":{"type":"object","additionalProperties":true}}}}},"Pagination":{"type":"object","properties":{"page":{"type":"integer"},"limite":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"}}},"ReponseOutil":{"type":"object","properties":{"outil":{"type":"string"},"action":{"type":"string"},"donnees":{"description":"Réponse allégée de l'origine (objet, tableau ou null)."},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ReponseComposite":{"type":"object","properties":{"outil":{"type":"string"},"donnees":{"type":"object","additionalProperties":true}}}}}}