Changelog API Convergence CFA / OPCO

Version du 11/02/2026

Modifications

  • Sur les endpoints GET /v2/dossiers, GET /v1/dossiers et GET /v1/dossiers/liste, deux nouveaux champs facultatifs ont été ajoutés à l’objet echeances : dateDebut et dateFin. Ces champs permettent de préciser respectivement la date de début et la date de fin associées à chaque échéance. Le format attendu pour ces deux champs est yyyy-MM-dd (exemple : 2026-02-13).

Version du 15/01/2026

Modifications

  • Sur la route POST v2/dossiers : ajout exemple complet et conforme aux règles de gestion API CFA V2

Version du 05/11/2025

Modifications

  • Sur la route POST v2/dossiers : Champ apprenti.projetCreationRepriseEntreprise : le champ passe en Facultatif (valeur par défaut : false)

Version du 14/10/2025

Modifications

  • Sur la route POST v2/dossiers : Champ adresse.codePays : le champ passe en Obligatoire (sur toutes les adresses)
  • Sur la route POST v2/dossiers : Champ employeur.caisseComplementaire : La longueur maximale du champ passe à 200 (Alignement par rapport à la longueur max DECA)
  • Sur la route POST v2/dossiers : Champ apprenti.nir : La longueur maximale du champ passe à 13 (Alignement par rapport à la longueur max DECA)
  • Sur la route POST v2/dossiers : Champ apprenti.intituleDiplomePrepare : La longueur maximale du champ passe à 500 (Alignement par rapport à la longueur max DECA)
  • Sur la route POST v2/dossiers : Champ apprenti.responsableLegal.nom : La longueur maximale du champ passe à 200 (Alignement par rapport à la longueur max DECA)
  • Sur la route POST v2/dossiers : Champ apprenti.responsableLegal.prenom : La longueur maximale du champ passe à 50 (Alignement par rapport à la longueur max DECA)
  • Sur la route POST v2/dossiers : Champ contrat.numeroContratPrecedent : La longueur maximale du champ passe à 15 (Alignement par rapport à la longueur max DECA) et avec pattern assigné
  • Sur la route POST v2/dossiers : Champ contrat.dureeTravailHebdoHeures : Pattern assigné
  • Sur la route POST v2/dossiers : Champ contrat.dureeTravailHebdoMinutes : Pattern assigné
  • Sur la route POST v2/dossiers : Champ CERFASignatureProbante : le champ passe en Obligatoire

Version du 26/08/2025

Modifications

  • Sur la route POST v2/dossiers : Champ maitre[i].emploiOccupe : le champ repasse en Facultatif (Obligatoire sous conditon)
  • Sur la route POST v2/dossiers : Champ maitre[i].intituleDiplomeObtenu : le champ repasse en Facultatif (Obligatoire sous conditon)
  • Sur la route POST v2/dossiers : Champ maitre[i].niveauDiplomeObtenu : le champ repasse en Facultatif (Obligatoire sous conditon)
  • Sur la route POST v2/dossiers : Champ convention.couts.mentionMobiliteInternationale : le champ passe en Obligatoire

Version du 19/08/2025

Modifications

  • Sur la route POST v2/dossiers : Champ maitre[i].emploiOccupe : le champ passe en Obligatoire
  • Sur la route POST v2/dossiers : Champ maitre[i].intituleDiplomeObtenu : le champ passe en Obligatoire
  • Sur la route POST v2/dossiers : Champ maitre[i].niveauDiplomeObtenu : le champ passe en Obligatoire

Version du 02/07/2025

Modifications

  • Sur les routes GET v1/dossiers, POST v1/dossiers, GET v2/dossiers et POST v2/dossiers : Les valeurs admises pour le champ versionCERFA sont : [ 1010314, 1010313, 1010310, 1010309 ] (Rajout V14 : 10103*14)

Version du 01/07/2025

Modifications

  • Sur la route POST /v1/documents : Rajout des valeurs admises suivantes pour le champ objets.typefichier : [ ATTESTATION_CREATION_ENTREPRISE, FACTURE_PARTICIPATION_OBLIGATOIRE ]

Version du 03/06/2025

Modifications

  • Sur les routes GET v1/dossiers, POST v1/dossiers, GET v2/dossiers et POST v2/dossiers : Rajout du champ formation.nombreHeuresEnDistanciel introduit par le nouveau décret applicable au 01/07/2025 RG : Cette balise devra obligatoirement être renseignée, pour tout contrat conclu à partir du 01/07/2025. Sa valeur doit être supérieure ou égale à zéro.

  • Sur la route GET v2/dossiers et POST v2/dossiers : Suppression du champ formation.modalitesPedagogiques. Ce champ est supprimé afin de ne pas introduire de confusion/collision avec le champ formation.nombreHeuresEnDistanciel

Version du 16/04/2025

Modifications

  • Sur la route POST /v2/dossiers/rupture/finformationcfa : La position de la balise fraisAnnexesAjustes est modifiée. (Cette balise n'est plus intégrée dans la balise maintienFormation)
  • Sur les routes POST v1/dossiers et POST v2/dossiers : Champ apprenti.communeNaissance . La longueur maximale du champ passe à 50 (Alignement par rapport à la longueur max de la commune d'une adresse DECA)
  • Sur toutes les routes : Champ adresse.adresse1 . La longueur maximale du champ passe à 200 (Concerne toutes les adresses : Apprenti, Employeur, CFA, ...)
  • Sur toutes les routes : Champ adresse.adresse2 . La longueur maximale du champ passe à 50 (Concerne toutes les adresses : Apprenti, Employeur, CFA, ...)

Version du 28/02/2025

Ajouts

  • La route POST /v2/dossiers est ajoutée : Transmission d'un contrat d'apprentissage (V2 - CERFA + Convention) - Intégration de nouvelles balises obligatoire. Transmission de la convention (données +PDF) avec le CERFA.
  • La route GET /v2/dossiers est ajoutée : Lecture d'un dossier via son numéro interne OU son numéro externe et son numéro DECA (intégrant les balises V2)
  • La route GET /v2/dossiers/etats est ajoutée : Lecture des états de tous les dossiers du CFA authentifié avec Restitution paginée. Possibilité de passer des paramètres d'entrée.

Modifications

  • Sur la route GET /v1/dossiers/etats : Rajout des paramètres d'entrée optionnels anneeDossier (Année de la date de création de dossier. Elle correspond à l'année de la date de création de dossier dans le SI OPCO) et dateModification (Date de modification/Création à partir de laquelle les dossiers doivent être restitués)

Version du 17/02/2025

Modifications

  • Sur la route POST /v1/dossiers : Rajout du champ salarie.droitsRqthExtensionBOE introduit par le CERFA V13
  • Sur la route POST /v1/dossiers : Rajout du champ salarie.droitsRqthEquivalenceJeune introduit par le CERFA V13
  • Sur la route POST /v1/dossiers : Les valeurs admises pour le champ versionCERFA sont : [ 1010313, 1010310, 1010309 ] (Rajout V13 : 1010313)
  • Sur la route GET /v2/cfakeyinfo : Description du Schema de la Response associée au code 200
  • Sur la route POST /facture : Champ facture.lignes[].quantite : le Type du champ passe à integer (double précédemment). (Sans virgule)

Version du 05/11/2024

Modifications

  • Sur la route GET /v2/cfakeyinfo : Le paramètre X-API-KEY est renommé en XAPIKEY
  • Sur la route GET /v2/cfakeyinfo : Il est précisé que le contrôle de validité de l'API-KEY habituel n'est pas effectué : L'erreur 403 n'est pas restituée dans cette route lorsque l'API-KEY passée en paramètre n'est plus valide. Lorsque l'API-KEY passée en paramètre n'est plus valide, un code retour 200 est envoyé avec la date de fin de validité restituée. Lorsque l'API-KEY passée en paramètre n'a pas été trouvée, un code d'erreur 300 est renvoyé : La clé API-KEY n'a pas été trouvée

Version du 16/07/2024

  • Les balises suivantes ne doivent pas être valorisées dans le cadre de la transmission d'un contrat d'apprentissage (via POST dossiers). Si c'est le cas, elles ne seront pas prises en compte.
    • contrat.noContrat : Numéro DECA de contrat. Valorisé par le SIA.
    • contrat.dateRupture : Date de rupture du contrat.
    • numeroExterne : Identifiant externe ou numéro de dossier (utilisé dans les communications entre le CFA et l'OPCO). Valorisé par le SI de l'OPCO.

Version du 02/07/2024

  • Lors des appels API trois headers doivent être renseignés. Ceux-ci seront utilisés par les OPCO à des fins de statistiques et de débogage :
    • EDITEUR : le nom de l'éditeur du logiciel, ou le nom du CFA si ce dernier édite son propre logiciel
    • LOGICIEL : le nom du logiciel utilisé
    • VERSION : la version du logiciel utilisé IMPORTANT : ces 3 valeurs deviendront OBLIGATOIRES à partir du 01/10/2024

Version du 06/06/2024

Modifications

  • Sur la route POST /v1/facture : Il est précisé que le champ LigneFacture.numeroDossier désigne le numéro externe du dossier et non le numéro interne du dossier comme précédemment spécifié.
  • Sur le contrat, le champ permettant de désigner le niveau de diplôme obtenu du Maitre d'Apprentissage associé au CERFA est nommé niveauDiplomeObtenu et non niveauDiplome comme précédemment spécifié
  • Sur la route POST /v2/certificat : Les valeurs admises pour le champ type certificat sont : [ Intermediaire, Final ] (précédement [ Intermédiaire, Finale ]
  • Sur la route POST /v2/certificat : Le champ natureaction est renommé en natureAction

Version du 23/04/2024

Ajouts

  • La route POST /v2/dossiers/rupture/employeur est ajoutée : Envoi des données concernant la rupture d’un contrat entre l'employeur et l'apprenti.
  • La route POST /v2/dossiers/rupture/finformationcfa est ajoutée : Envoi des données concernant le maintien ou non de la formation au sein du CFA ainsi que les évènements complémentaires de fin de formation d’un contrat.
  • La route POST /v2/certificats est ajoutée : Dépôt d'un certificat de réalisation
  • La route GET /v2/cfakeyinfo est ajoutée : Donner les informations de la CFA KEY comme la date d’expiration et anticiper son expiration
  • La route GET /v2/factures/etats est ajoutée : Restituer l'état des factures émises par un CFA et intégrées dans le SI OPCO

Version du 12/01/2024

Modifications

  • Sur la route POST /dossiers : Champ formation.dureeFormation : le format passe de double à integer
  • Sur la route POST /dossiers : Champ employeur.courriel : le champ passe en Obligatoire
  • Sur la route POST /dossiers : Champ apprenti.nom : le champ passe en Obligatoire et de type string(1,80)
  • Sur la route POST /dossiers : Champ apprenti.nomUsage : le champ passe en Obligatoire et de type string(1,80)
  • Sur la route POST /dossiers : Champ apprenti.prenom : le champ passe en Obligatoire et de type string(1,80)
  • Sur la route POST /dossiers : Champ apprenti.courriel : le champ passe en Obligatoire et de type string(1,200)
  • Sur la route POST /dossiers : Champ maitre[i].nom : le champ passe en Obligatoire et de type string(1,80)

Ajouts

  • Sur la route POST /dossiers : Champ maitre[i].courriel : le champ est ajouté.
  • Sur la route POST /dossiers : Champ maitre[i].emploiOccupe : le champ est ajouté.
  • Sur la route POST /dossiers : Champ maitre[i].intituleDiplomeObtenu : le champ est ajouté.
  • Sur la route POST /dossiers : Champ maitre[i].niveauDiplomeObtenu : le champ est ajouté.
  • Sur la route POST /dossiers : Champ contrat.dateFormationPratiqueEmployeur : le champ est ajouté.
  • Sur la route POST /dossiers : Champ organismeFormation.lieuFormationIdentique : le champ est ajouté.
  • Sur la route POST /dossiers : Noeud organismeFormationLieuFormationPrincipal : le noeud est ajouté.

Suppressions

  • Sur la route POST /dossiers : Champ maitre[i].nir : le champ est supprimé (deprecated)
<hr/>

Version du 26/07/2022

Modifications

  • Correction des contrôles sur les dates de fin des 2e, 3e et 4e périodes. Les contrôles sont mantenant : "[La date de fin de l'année X] Doit être postérieure ou égale à la date de début de l'année X"
  • Suppression d'un contrôle sur la durée minimale de la formation en heures
<hr/>

Version du 06/07/2022

Ajouts

  • Ajout des modes opératoires pour AFDAS et OPCO EP

Modifications

  • Correction d'un contrôle sur la date de naissance de l'apprenti. Le contrôle est maintenant : "L'age de l'apprenti par rapport à la date de début d’exécution du contrat doit être >= 15 ans et 1 jour"
  • Correction d'une erreur sur le swagger
<hr/>

Version du 13/06/2022

Ajouts

  • Ajout des trois headers permettant d'identifier l'éditeur, le logiciel et la version utilisés
<hr/>

Version du 04/05/2022

Ajouts

  • Ajout du contact technique pour AFDAS

Modifications

  • Modification du contact technique pour OPCO 2i
  • Modification de la structure du tableau dans l'onglet "Accrochage" afin de différencier les parties transmission de contrats et facturation
  • Mise à jour des informations d'accrochage des différents OPCOs
  • Mise à jour du mode opératoire de récupération des clé d'API (ajout des procédures pour AFDAS et Mobilités)
<hr/>

Version du 09/02/2022

Ajouts

  • Ajout de l'onglet "Accrochage" qui recense l'état d'accrocage des différents OPCO
  • Ajout du contact technique pour l'OPCO 2I

Modifications

  • Correction de l'affichage des notes de version
  • Mise à jour du mode opératoire de récupération des CFA Keys (v4)
  • Correction du type de champ contrat.autreAvantageEnNature dans l'onglet "Règles de gestion" : ce champ est de type bool
<hr/>

Version du 09/09/2021

Ajouts

  • Ajout d'un état RUPTURE pour le dossier

Modifications

  • Sur la route POST /documents : Modification du fonctionnement global, plusieurs objet peuvent désormais être associés à un document
  • Correctifs sur les longuers max de certains champs numéros de téléphones et codes postaux
  • Sur les exemples, les dates sont désormais formattées en UTC car c'est ce format qui est attendu lors des échanges
  • Le type de rémunération passe non nullable sur toutes les périodes de rémuération
<hr/>

Version du 16/07/2021

Ajouts

  • Sur la route POST /documents : ajout d'un exemple de retour en cas de succès avec récupération d'un numeroInterne propre au document
  • Sur la route GET /dossiers : ajout d'un noeud engagementsFraisAnnexe qui est une liste des engagements sur les frais annexes (Hebergement, Restauration, Premier équipement, Mobilité)
  • Sur la route POST /factures : ajout d'un exemple de retour en cas de succès avec récupération d'un numeroInterneFacture et d'un numeroInterneDocument
  • Ajout d'un champ dontMontantPedagogie sur l'objet Echeance
  • Ajout du type de document CERTFICAT_REALISATION

Modifications

  • Ajout de précisions sur le fonctionnement du paramètre idObjet de la route POST /documents
  • Correction description GET /dossiers : les paramètres obligatoires sont numeroInterne OU (numeroExterne et numeroDeca)
  • Correction faute d'orthographe sur la propriété codificationEcheance

Suppressions

  • Suppression du code de retour 400 pour la route GET /dossiers : si un dossier est introuvable, la méthode doit renvoyer une erreur 404
  • Sur la route POST /dossiers : suppression de la propriété etat
  • Sur la route GET /dossiers : suppression de la propriété detailsFacturation.montantPedagogie
  • Suppression du champ dateObtentionDiplome sur l'objet Facture
<hr/>

Version du 12/07/2021

Ajouts

  • Sur la route GET /dossiers : ajout du champ echeances[].codification. Ce champ désigne le code unique de l'échéance, qui peut différer de son ordre. Ce code sera a reprendre dans le champ facture.lignes[].codificiationEcheance du POST /factures afin de sélectionner l'échéance qui sera facturée.
  • Sur la route POST /factures : ajout du champ facture.lignes[].codificiationEcheance (voir ci dessus)
  • Dans l'objet Apprenti : ajout du champ inscriptionSportifDeHautNiveau. Le libellé du champ correspondant sur le CERFA est "Déclare être inscrit sur la liste des sportifs, entraîneurs, arbitres et juges sportifs de haut niveau"
  • Sur la route GET /dossiers : ajout du champ cerfa.etat. La liste des états possibles pour un dossier est [ "TRANSMIS", "EN_COURS_INSTRUCTION", "ENGAGE", "ANNULE", "SOLDE" ]
  • Ajout de deux méthodes permettant de récupérer les états et les informations complètes de plusieurs contrats
    • Nouvelle route GET /dossiers/etats qui liste l'ensemble des états des dossiers d'un CFA. Cette méthode ne prend aucun paramètre
    • Nouvelle route GET /dossiers/liste qui renvoie les données complètes (champs du cerfa, échéances, informations de facturation et d'engagement) de la liste des dossiers passés en paramètre. Le nombre de dossiers qui peuvent être retournés est limité à 50 par appel.
  • Ajout d'une route POST /dossiers/{numeroInterne}/convention : cette route pourra être implémentée par les OPCO qui souhaitent traiter la convention de formation de manière dématérialisée

Modifications

  • Champ maitre2 : ce champ est rendu optionnel

Suppressions

  • Champ detailFacturation.montantPedagogie : ce champ est supprimé
<hr/>

Version du 28/06/2021

Ajouts

  • Ajout d'un champ dontMajorationRqth dans l'objet Echeance renvoyé par le GET /dossiers
  • Ajout du modèle de réponse de la méthode POST /dossiers
  • Ajout d'une valeur MAJORATION_RQTH dans l'énumération NatureLigneFacture utilisé dans le POST /factures
  • Ajout lien vers le schéma Facture utilisé dans le POST /factures
  • Ajout d'un champ ordre dans l'objet contrat.remunerationsAnnuelles : la donnée doit être au format ^[1-4]\.[1-2]$, le premier chiffre correspondant à l'année de la période et le deuxième chiffre correspondant au changement de tranche d'âge (1 = avant changement tranche d'âge, 2 = en cas de changement de tranche d'âge)

Modifications

  • Champ numeroInterne : le type passe de integer a string afin de correspondre au type du numeroExterne
  • Champ contrat.typeDerogation : ajout de la valeur null dans la liste des valeurs autorisées pour l'énumération (car ce champ est facultatif)
  • Champ employeur.employeurSpecifique : ajout de la valeur null dans la liste des valeurs autorisées pour l'énumération (car ce champ est facultatif)

Suppressions

  • Champ numeroDeca : ce champ est supprimé car il est redondant avec le champ contrat.noContrat
<hr/>

Version du 28/05/2021

Ajouts

Documents

  • Ajout de la route POST /documents "Dépôt d'un document et association à un objet grâce à un identifiant"

Modifications

Général

  • Pour le POST /dossiers, l'objet cerfa est maintenant dans un champ cerfa et non plus à la racine du corps de la requête.<br/> Ainsi, la signature du GET /dossiers est plus en cohérence avec la signature du POST /dossiers.
  • Les codes NatureLigneFacture ont été passés en majuscules. Exemple : Hebergement devient HEBERGEMENT.
  • La propriété status de la classe ApiStatusResult a été passée en énumération (auparavant: string). Les 3 valeurs possibles sont healthy, degraded et unhealthy.

Suppressions

OPCOS

  • Suppression de l'endpoint de lecture de l'OPCO référent d'un établissement (ne fait pas partie de la norme à implémenter par les OPCO).
<hr/>

Version du 05/05/2021

Ajouts

Dossiers

  • Ajout de la route POST /dossiers "Transmission d'un contrat d'apprentissage"

Modifications

Général

  • Le champ numeroInterne de l'objet Cerfa devient facultatif pour le dépôt de contrat.

OPCOS

  • Ajout d'un endpoint lecture de l'OPCO référent d'un établissement prenant en paramètre le SIRET de l'établissement et son IDCC<br/> Cet endpoint sera à implémenter par CFA Dock et devra renvoyer le SIREN et la raison sociale de l'OPCO référent.

Suppressions

Etablissements

  • Suppression de l'endpoint de lecture des informations d'un établissement car inutile. En remplacemnt, un nouvel endpoint de lecture d'un OPCO référent d'un établissement a été mis en place.
<hr/>

Version du 14/04/2021

Ajouts

Général

  • Ajout des attributs required sur les propriétés obligatoires
  • Ajout des longeurs min et max sur les propriétés string
  • Ajout des Regex de validation sur certaines propriétés string

Dossiers

  • Ajout du paramètre numeroInterne au endpoint lecture dossier

Etablissements

  • Ajout d'un endpoint Lecture d'établissement prenant en paramètre le SIRET de celui ci.<br/> Cet endpoint sera appelé par CFA Dock et devra renvoyer les informations de l'établissement ainsi que le SIREN de l'OPCO.

Modifications

Général

  • Renommage de la classe Employeur en EmployeurCerfa
  • Tri des schémas par ordre alphabétique

Dossiers

  • Modification de la description du endpoint lecture dossier
  • Renommage du paramètre numeroDossier en numeroExterne sur le endpoint lecture dossier
  • La propriété detailsFacturation est maintenant à la racine de la réponse et non plus dans la propriété cerfa
  • La propriété npec a été renommée engagement pour éviter la confusion avec le niveau de prise en charge France Compétences

Suppressions

Modes opératoires

  • Suppression du endpoint destiné à renvoyer le mode opératoire de récupération de la cle d'API.<br/> Les OPCO devront fournir aux éditeurs de progiciels CFA une URL fixe menant au mode opératoire.