{"openapi":"3.1.0","info":{"title":"Documentation technique","version":"6b2d5a3","description":"# Limites de débit (rate limiting)\n\nPour garantir la disponibilité du service à l'ensemble des consommateurs, chaque endpoint est soumis à une limite d'appels **par consommateur** (clé d'API). Les limites précises sont indiquées dans la description de chaque endpoint.\n\n## Headers renvoyés\n\nChaque réponse inclut des headers indiquant l'état de votre quota :\n\n| Header | Description |\n|---|---|\n| `x-ratelimit-limit` | Nombre d'appels autorisés sur la fenêtre courante |\n| `x-ratelimit-remaining` | Nombre d'appels encore disponibles |\n| `x-ratelimit-reset` | Nombre de secondes avant remise à zéro du compteur |\n| `retry-after` | (Sur 429 uniquement) Secondes à attendre avant de réessayer |\n\n## En cas de dépassement\n\nLorsque votre quota est atteint, l'API renvoie un code **HTTP 429 — Too Many Requests** avec un corps JSON décrivant la limite franchie. Patientez la durée indiquée par le header `retry-after` avant de réémettre la requête.\n\n## Bonnes pratiques\n\n- Surveillez les headers `x-ratelimit-remaining` pour anticiper l'atteinte des limites.\n- Implémentez un mécanisme de retry avec backoff exponentiel respectant le `retry-after`.\n- Si vos volumes nécessitent des limites supérieures, contactez [support_api@apprentissage.beta.gouv.fr](mailto:support_api@apprentissage.beta.gouv.fr).","license":{"name":"Etalab-2.0","url":"https://github.com/etalab/licence-ouverte/blob/master/LO.md"},"termsOfService":"https://api.apprentissage.beta.gouv.fr/cgu","contact":{"name":"Équipe Espace développeurs La bonne alternance","email":"support_api@apprentissage.beta.gouv.fr"}},"servers":[{"url":"https://api.apprentissage.beta.gouv.fr/api","description":"production"}],"tags":[{"name":"Essayer l'API","description":"Pour essayer l'API [vous pouvez utiliser le swagger UI](/documentation-technique/try)"},{"name":"Offre Emploi","description":"Opportunités d'emploi en alternance"},{"name":"Formation","description":"Liste des opérations sur les formations en apprentissage"},{"name":"Certifications","description":"Liste des opérations sur les certifications."},{"name":"Organismes","description":"Liste des organismes"},{"name":"Géographie","description":"Référentiel Géographique"},{"name":"Expérimental","description":"Liste des routes expérimentales. Attention: ces routes peuvent changer sans préavis."},{"name":"Système","description":"Routes système"}],"components":{"securitySchemes":{"api-key":{"type":"http","scheme":"bearer","bearerFormat":"Bearer","description":"Clé d'API à fournir dans le header `Authorization`. Si la route nécessite une habilitation particulière veuillez contacter le support pour en faire la demande à [support_api@apprentissage.beta.gouv.fr](mailto:support_api@apprentissage.beta.gouv.fr)"}},"schemas":{"Certification":{"type":"object","properties":{"identifiant":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9]{3}\\d{3}[A-Z0-9]{2}$","examples":["50022137"]},{"type":"null"}],"description":"Code Formation Diplôme (CFD) de la certification.\n\nNotes:\n\n- `null` si et seulement si aucun diplôme CFD correspondant à la fiche RNCP (`identifiant.rncp`) n'est connu.\n- Lorsque le code est `null`, toutes les informations issues de la base centrale des nomenclatures (BCN) seront `null`"},"rncp":{"anyOf":[{"type":"string","pattern":"^RNCP\\d{3,5}$","examples":["RNCP37537"]},{"type":"null"}],"description":"Code Répertoire National des Certifications Professionnelles (RNCP) de la certification.\n\nNotes:\n\n- `null` si et seulement si aucune fiche RNCP correspondant au diplôme (`identifiant.cfd`) n'est connu.\n- Lorsque le code est `null`, toutes les informations issues de France Compétence seront `null`"},"rncp_anterieur_2019":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Identifie les certifications dont le code RNCP correspond à une fiche antérieure à la réforme de 2019.\n\nNotes:\n\n- `null` si `identifiant.rncp` est `null`\n- `true` si le numéro de fiche `identifiant.rncp` est inférieur à `34,000`\n- `false` sinon"}},"required":["cfd","rncp","rncp_anterieur_2019"],"additionalProperties":false,"description":"les fiches RNCP antérieures à la réforme de 2019 ont certaines données qui ne sont pas renseignées, elles sont identifiées par le champ `rncp_anterieur_2019` à `true`."},"intitule":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"object","properties":{"long":{"type":"string","description":"**Intitulé long du diplôme.**","examples":["BOULANGER (CAP)","GENIE BIOLOGIQUE OPTION AGRONOMIE (DUT)"]},"court":{"type":"string","description":"**Intitulé court du diplôme.**","examples":["BOULANGER","GENIE BIO - AGRONOMIE"]}},"required":["long","court"],"additionalProperties":false},{"type":"null"}],"description":"Intitulés de la certification issue de la base centrale des nomenclatures (BCN).\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`."},"niveau":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"object","properties":{"europeen":{"anyOf":[{"type":"string","enum":["1","2","3","4","5","6","7","8"],"examples":["3","5"]},{"type":"null"}],"description":"Niveau de qualification de la certification (de 1 à 8) utilisés dans les référentiels nationaux européens.\n\nNotes:\n\n- peut être `null` lorsque le niveau de diplôme n'a pas de correspondance avec les niveaux européens ou qu'elle n'est pas déterminée.\n- lorsque la fiche RNCP correspondante est connue, il faut priviliégier le niveau européen issue de France Compétences."},"formation_diplome":{"type":"string","description":"Code à 3 caractères qui renseigne sur le niveau du diplôme suivant le référentiel de l'Éducation Nationale.\n\nNotes:\n\n- correspond aux 3 premiers caractères du code CFD.","examples":["500","370"]},"interministeriel":{"type":"string","description":"code interministériel du niveau de la formation suivant le référentiel de l'Éducation Nationale.\n\nNotes:\n\n- correspond au premier caractère du code CFD, sauf pour le CFD `01321401`","examples":["3","6"]},"libelle":{"anyOf":[{"type":"string","examples":["CLASSE PREPA","TITRE PROFESSIONNEL HOMOLOGUE OU CERTIFIE"]},{"type":"null"}]},"sigle":{"type":"string","examples":["CAP","DUT","BTS","CPGE"]}},"required":["europeen","formation_diplome","interministeriel","libelle","sigle"],"additionalProperties":false},{"type":"null"}],"description":"Niveau de la certification issue de la base centrale des nomenclatures (BCN).\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`."},"rncp":{"anyOf":[{"type":"object","properties":{"europeen":{"anyOf":[{"type":"string","enum":["1","2","3","4","5","6","7","8"],"examples":["3"]},{"type":"null"}],"description":"Niveau de qualification de la certification (de 1 à 8) utilisés dans les référentiels nationaux européens.\n\nNotes:\n\n- `null` lorsque le niveau de diplôme n'a pas de correspondance avec les niveaux européens."}},"required":["europeen"],"additionalProperties":false},{"type":"null"}],"description":"Niveau de qualification issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["cfd","rncp"],"additionalProperties":false,"description":"Niveau de qualification de la certification professionnelle"},"rncp":{"anyOf":[{"type":"string","examples":["Boulanger"]},{"type":"null"}],"description":"Intitulé de la certification issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["cfd","niveau","rncp"],"additionalProperties":false},"base_legale":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"object","properties":{"creation":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date d'arrêté de création du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '00:00:00' sur le fuseau horaire 'Europe/Paris'.\n- La date est retournée au format ISO 8601 avec le fuseau horaire 'Europe/Paris'.","examples":["2014-02-21T00:00:00.000+01:00","2018-05-11T00:00:00.000+02:00"]},"abrogation":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date d'arrêté d'abrogation du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '23:59:59' sur le fuseau horaire 'Europe/Paris'.\n- La date est retournée au format ISO 8601 avec le fuseau horaire 'Europe/Paris'.","examples":["2022-08-31T23:59:59.000+02:00","2022-12-31T23:59:59.000+01:00"]}},"required":["creation","abrogation"],"additionalProperties":false,"description":"Informations légales issue de la base centrale des nomenclatures (BCN) relatives au diplôme.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`."},{"type":"null"}]}},"required":["cfd"],"additionalProperties":false,"description":"Dates de création et d’abrogation des diplômes crées par arrêtés"},"blocs_competences":{"type":"object","properties":{"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^(RNCP\\d{3,5}BC)?\\d{1,2}$","examples":["RNCP37537BC01"]},"intitule":{"anyOf":[{"type":"string","examples":["Approvisionnement, communication, sécurité alimentaire et hygiène en boulangerie"]},{"type":"null"}]}},"required":["code","intitule"],"additionalProperties":false}},{"type":"null"}],"description":"Liste des blocs de compétences issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["rncp"],"additionalProperties":false,"description":"Liste du (ou des) code (s) et intitulé(s) des blocs de compétences validés par la certification"},"convention_collectives":{"type":"object","properties":{"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"numero":{"type":"string","examples":["3002"]},"intitule":{"type":"string","examples":["Bâtiment (Employés, techniciens et agents de maîtrise, ingénieurs, assimilés et cadres)"]}},"required":["numero","intitule"],"additionalProperties":false}},{"type":"null"}],"description":"Liste des conventions collectives issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["rncp"],"additionalProperties":false,"description":"Liste(s) de la ou des convention(s) collective(s) rattachées à la certification"},"domaines":{"type":"object","properties":{"formacodes":{"type":"object","properties":{"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","examples":["21538"]},"intitule":{"type":"string","examples":["21538 : Boulangerie"]}},"required":["code","intitule"],"additionalProperties":false}},{"type":"null"}],"description":"Formacode® issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["rncp"],"additionalProperties":false,"description":"Formacode® issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."},"nsf":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"object","properties":{"code":{"type":"string","examples":["221","310"]},"intitule":{"anyOf":[{"type":"string","examples":["AGRO-ALIMENTAIRE, ALIMENTATION, CUISINE","SPECIALIT.PLURIV.DES ECHANGES & GESTION"]},{"type":"null"}]}},"required":["code","intitule"],"additionalProperties":false},{"type":"null"}],"description":"NSF issue de la base centrale des nomenclatures (BCN).\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`.\n- Le code NSF est déduis du code formation diplôme (CFD), il n'inclut donc pas la lettre de spécialité et le tableau ne contient qu'un seul élément."},"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^\\d{2,3}[a-z]?$","examples":["221"]},"intitule":{"anyOf":[{"type":"string","examples":["221 : Agro-alimentaire, alimentation, cuisine"]},{"type":"null"}]}},"required":["code","intitule"],"additionalProperties":false}},{"type":"null"}],"description":"NSF issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["cfd","rncp"],"additionalProperties":false},"rome":{"type":"object","properties":{"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{1}\\d{0,4}$","examples":["D1102"]},"intitule":{"type":"string","examples":["Boulangerie - viennoiserie"]}},"required":["code","intitule"],"additionalProperties":false}},{"type":"null"}],"description":"ROME issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["rncp"],"additionalProperties":false,"description":"Répertoire Opérationnel des Métiers et des Emplois (ROME)."}},"required":["formacodes","nsf","rome"],"additionalProperties":false},"periode_validite":{"type":"object","properties":{"debut":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de début de validité de la certification. Cette date correspond à l'intersection de la date d'ouverture du diplôme et de la date d'activation de la fiche RNCP.\n\nNotes:\n\n- La couverture de ce champ est partiel car nous ne sommes pas en mesure pour le moment de récupérer les dates d'activation antérieures au 24 décembre 2021.","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},"fin":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de fin de validité de la certification. Cette date correspond à l'intersection de la date de fermeture du diplôme et de la date de fin d'enregistrement.","examples":["2022-08-31T23:59:59.000+02:00","2022-12-31T23:59:59.000+01:00"]},"cfd":{"anyOf":[{"type":"object","properties":{"ouverture":{"anyOf":[{"type":"string","format":"date-time","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},{"type":"null"}],"description":"Date d'ouverture du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '00:00:00' sur le fuseau horaire 'Europe/Paris'."},"fermeture":{"anyOf":[{"type":"string","format":"date-time","examples":["2022-08-31T23:59:59.000+02:00","2022-12-31T23:59:59.000+01:00"]},{"type":"null"}],"description":"Date de fermeture du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '23:59:59' sur le fuseau horaire 'Europe/Paris'."},"premiere_session":{"anyOf":[{"type":"integer","examples":[2022]},{"type":"null"}],"description":"Année de sortie des premiers diplômés."},"derniere_session":{"anyOf":[{"type":"integer","examples":[2025]},{"type":"null"}],"description":"Année de sortie des derniers diplômés."}},"required":["ouverture","fermeture","premiere_session","derniere_session"],"additionalProperties":false},{"type":"null"}],"description":"- `null` lorsque le champs `identifiant.cfd` est `null`."},"rncp":{"anyOf":[{"type":"object","properties":{"actif":{"type":"boolean","description":"Lorsque la fiche est active, les inscriptions à la formation sont ouvertes, à l’inverse, lorsque la fiche est inactive, les inscriptions sont fermées."},"activation":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date à laquelle la fiche RNCP est passée au statut `actif`.\n\nNotes:\n\n- La couverture de ce champ est partiel car nous ne sommes pas en mesure pour le moment de récupérer les dates d'activation antérieures au 24 décembre 2021.\n- France Compétence ne fournie pas l'information, nous le déduisons de la date de premiere apparation de la fiche RNCP avec le statut `actif`.","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},"debut_parcours":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de début des parcours certifiants. Anciennement appelée 'date d'effet' pour les enregistrements de droit et correspondant à la date de décision pour les enregistrements sur demande.\n\nNotes:\n\nLa date est retournée au format ISO 8601 avec le fuseau horaire Europe/Paris."},"fin_enregistrement":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de fin d’enregistrement d’une fiche au RNCP.\n\nNotes:\n\n- France Compétence fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '23:59:59' sur le fuseau horaire 'Europe/Paris'.","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]}},"required":["actif","activation","debut_parcours","fin_enregistrement"],"additionalProperties":false},{"type":"null"}],"description":"- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["debut","fin","cfd","rncp"],"additionalProperties":false,"description":"**Un couple CFD-RNCP a une période de validité** qui correspond à l’intersection de la période d’ouverture du diplôme et de la période d’activité de la fiche RNCP.\n\nNotes:\n\nLes dates sont retournées au format ISO 8601 avec le fuseau horaire Europe/Paris."},"type":{"type":"object","properties":{"nature":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"object","properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["1","2","P"]},"libelle":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["DIPLOME NATIONAL / DIPLOME D'ETAT","TITRE PROFESSIONNEL HOMOLOGUE OU CERTIFIE","CLASSE PREPA"]}},"required":["code","libelle"],"additionalProperties":false},{"type":"null"}],"description":"Nature du diplôme issue de la base centrale des nomenclatures (BCN).\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`."}},"required":["cfd"],"additionalProperties":false,"description":"Nature du diplôme."},"gestionnaire_diplome":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Service responsable de la définition du diplôme.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`.","examples":["DGESCO A2-3"]},"enregistrement_rncp":{"anyOf":[{"type":"string","enum":["Enregistrement de droit","Enregistrement sur demande"]},{"type":"null"}],"description":"Permet de savoir si la certification est enregistrée de droit ou sur demande au Repertoire National des Certifications Professionnelles (RNCP)\n\n- `null` lorsque le champs `identifiant.rncp` est `null`.","examples":["Enregistrement de droit"]},"voie_acces":{"type":"object","properties":{"rncp":{"anyOf":[{"type":"object","properties":{"apprentissage":{"type":"boolean","description":"Certification accessible en contrat d’apprentissage."},"experience":{"type":"boolean","description":"Certification accessible par expérience."},"candidature_individuelle":{"type":"boolean","description":"Certification accessible par candidature individuelle."},"contrat_professionnalisation":{"type":"boolean","description":"Certification accessible en contrat de professionnalisation."},"formation_continue":{"type":"boolean","description":"Certification accessible après un parcours de formation continue."},"formation_statut_eleve":{"type":"boolean","description":"Certification accessible après un parcours de formation sous statut d’élève ou d’étudiant."}},"required":["apprentissage","experience","candidature_individuelle","contrat_professionnalisation","formation_continue","formation_statut_eleve"],"additionalProperties":false},{"type":"null"}],"description":"Voie d’accès à la certification issue de France Compétences.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["rncp"],"additionalProperties":false,"description":"Voie d’accès à la certification."},"certificateurs_rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"siret":{"type":"string","description":"Numéro SIRET du certificateur renseigné dans le RNCP."},"nom":{"type":"string","description":"Nom du certificateur renseigné dans le RNCP."}},"required":["siret","nom"],"additionalProperties":false}},{"type":"null"}],"description":"Liste des certificateurs de la fiche RNCP.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.rncp` est `null`."}},"required":["nature","gestionnaire_diplome","enregistrement_rncp","voie_acces","certificateurs_rncp"],"additionalProperties":false},"continuite":{"type":"object","properties":{"cfd":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"ouverture":{"anyOf":[{"type":"string","format":"date-time","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},{"type":"null"}],"description":"Date d'ouverture du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '00:00:00' sur le fuseau horaire 'Europe/Paris'."},"fermeture":{"anyOf":[{"type":"string","format":"date-time","examples":["2022-08-31T23:59:59.000+02:00","2022-12-31T23:59:59.000+01:00"]},{"type":"null"}],"description":"Date de fermeture du diplôme.\n\nNotes:\n\n- La base centrale des nomenclatures (BCN) fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '23:59:59' sur le fuseau horaire 'Europe/Paris'."},"code":{"type":"string","pattern":"^[A-Z0-9]{3}\\d{3}[A-Z0-9]{2}$"},"courant":{"type":"boolean","description":"Indique si le diplôme correspond au diplôme courant, i.e `identifiant.cfd` est égal au `code`."}},"required":["ouverture","fermeture","code","courant"],"additionalProperties":false}},{"type":"null"}],"description":"Liste des diplômes assurant la continuité du diplôme. La liste inclut à la fois les diplômes remplacés et remplaçant. La liste est ordonnée par date d'ouverture du diplôme et inclut le diplôme courant.\n\nNotes:\n\n- `null` lorsque le champs `identifiant.cfd` est `null`.\n- Pour distinguer les diplômes remplacés des diplômes remplaçant, il faut se référer aux dates d'ouverture et de fermeture des diplômes."},"rncp":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"activation":{"anyOf":[{"type":"string","format":"date-time","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},{"type":"null"}],"description":"Date à laquelle la fiche RNCP est passée au statut `actif`.\n\nNotes:\n\n- La couverture de ce champ est partiel car nous ne sommes pas en mesure pour le moment de récupérer les dates d'activation antérieures au 24 décembre 2021.\n\n- France Compétence ne fournie pas l'information, nous le déduisons de la date de premiere apparation de la fiche RNCP avec le statut `actif`."},"fin_enregistrement":{"anyOf":[{"type":"string","format":"date-time","examples":["2021-09-01T00:00:00.000+02:00","2022-01-01T00:00:00.000+01:00"]},{"type":"null"}],"description":"Date de fin d’enregistrement d’une fiche au RNCP.\n\nNotes:\n\n- France Compétence fournie cette date sans l'information de l'heure, nous interprétons arbitrairement l'heure à '23:59:59' sur le fuseau horaire 'Europe/Paris'."},"code":{"type":"string","pattern":"^RNCP\\d{3,5}$","description":"Indique si la fiche correspond à la fiche courante, i.e `identifiant.rncp` est égal au `code`."},"courant":{"type":"boolean"},"actif":{"type":"boolean","description":"Lorsque la fiche est active, les inscriptions à la formation sont ouvertes, à l’inverse, lorsque la fiche est inactive, les inscriptions sont fermées."}},"required":["activation","fin_enregistrement","code","courant","actif"],"additionalProperties":false}},{"type":"null"}],"description":"- `null` lorsque le champs `identifiant.rncp` est `null`.\n- Pour distinguer les fiches remplacées des fiches remplaçant, il faut se référer aux dates d'activation et de fin d'enregistrement des fiches."}},"required":["cfd","rncp"],"additionalProperties":false,"description":"**Liste des couples CFD-RNCP assurant la continuité de la certification professionnelle.** La liste inclut à la fois les fiches remplacées et remplaçantes. Elle est ordonnée par date d'activation de la fiche RNCP et inclut la fiche courante."}},"required":["identifiant","intitule","base_legale","blocs_competences","convention_collectives","domaines","periode_validite","type","continuite"],"additionalProperties":false,"description":"Certification"},"Commune":{"type":"object","properties":{"nom":{"type":"string","description":"Nom de la commune"},"code":{"type":"object","properties":{"insee":{"type":"string","description":"Code INSEE de la commune"},"postaux":{"type":"array","items":{"type":"string"},"description":"Liste des codes postaux de la commune"}},"required":["insee","postaux"],"additionalProperties":false,"description":"Code INSEE et postaux de la commune\n\nUne commune peut avoir plusieurs code postaux, et un code postal peut correspondre à plusieurs communes. Le code INSEE lui est unique pour chaque commune."},"anciennes":{"type":"array","items":{"type":"object","properties":{"nom":{"type":"string","description":"Nom de l'ancienne commune"},"codeInsee":{"type":"string","description":"Code INSEE de l'ancienne commune"}},"required":["nom","codeInsee"],"additionalProperties":false},"description":"Anciennes communes fusionnées"},"arrondissements":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Code INSEE de l'arrondissement"},"nom":{"type":"string","description":"Nom de l'arrondissement"}},"required":["code","nom"],"additionalProperties":false},"description":"Arrondissements de la commune"},"departement":{"type":"object","properties":{"nom":{"type":"string","description":"Nom du département"},"codeInsee":{"type":"string","description":"Code INSEE du département"}},"required":["nom","codeInsee"],"additionalProperties":false,"description":"Département de la commune"},"region":{"type":"object","properties":{"codeInsee":{"type":"string","description":"Code INSEE de la région"},"nom":{"type":"string","description":"Nom de la région"}},"required":["codeInsee","nom"],"additionalProperties":false,"description":"Région de la commune"},"academie":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant de l'académie"},"code":{"type":"string","description":"Code de l'académie"},"nom":{"type":"string","description":"Nom de l'académie"}},"required":["id","code","nom"],"additionalProperties":false,"description":"Académie de la commune"},"localisation":{"type":"object","properties":{"centre":{"$ref":"#/components/schemas/GeoJsonPoint"},"bbox":{"$ref":"#/components/schemas/GeoJsonPolygon"}},"required":["centre","bbox"],"additionalProperties":false,"description":"Les informations de localisations sont composés du:\n\n- Du `centre` de la commune\n- De la boite englobante (`bbox`) qui délimite la zone de la commune.\n\nLes champs `centre` et `bbox` sont tous les deux au format [GeoJSON](https://fr.wikipedia.org/wiki/GeoJSON)"},"mission_locale":{"anyOf":[{"$ref":"#/components/schemas/MissionLocale"},{"type":"null"}],"description":"Mission locale dont relève la commune"}},"required":["nom","code","anciennes","arrondissements","departement","region","academie","localisation","mission_locale"],"additionalProperties":false,"description":"Commune"},"Departement":{"type":"object","properties":{"nom":{"type":"string","description":"Nom du département"},"codeInsee":{"type":"string","description":"Code INSEE du département"},"region":{"type":"object","properties":{"codeInsee":{"type":"string","description":"Code INSEE de la région"},"nom":{"type":"string","description":"Nom de la région"}},"required":["codeInsee","nom"],"additionalProperties":false,"description":"Région de la commune"},"academie":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant de l'académie"},"code":{"type":"string","description":"Code de l'académie"},"nom":{"type":"string","description":"Nom de l'académie"}},"required":["id","code","nom"],"additionalProperties":false,"description":"Académie de la commune"}},"required":["nom","codeInsee","region","academie"],"additionalProperties":false,"description":"Département"},"MissionLocale":{"type":"object","properties":{"id":{"type":"number","description":"Identifiant de la Mission Locale"},"code":{"type":"string","description":"Code de la mission locale"},"nom":{"type":"string","description":"Nom de la mission locale"},"siret":{"type":"string","description":"Numéro SIRET de la mission locale"},"localisation":{"type":"object","properties":{"geopoint":{"anyOf":[{"$ref":"#/components/schemas/GeoJsonPoint"},{"type":"null"}],"description":"Coordonnés GPS au format GeoJSON \"Point\""},"adresse":{"type":"string","description":"Adresse de la Mission Locale"},"cp":{"type":"string","description":"Code postal de la Mission Locale"},"ville":{"type":"string","description":"Ville de la Mission Locale"}},"required":["geopoint","adresse","cp","ville"],"additionalProperties":false,"description":"Localisation de la mission locale"},"contact":{"type":"object","properties":{"email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}],"description":"Email de contact de la mission locale"},"telephone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Téléphone de contact de la mission locale"},"siteWeb":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Site web de la mission locale"}},"required":["email","telephone","siteWeb"],"additionalProperties":false,"description":"Contact de la mission locale"}},"required":["id","code","nom","siret","localisation","contact"],"additionalProperties":false,"description":"Mission Locale"},"JobRecruiter":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant unique du recruteur","examples":["6687165396d52b5e01b409545"]}},"required":["id"],"description":"Cet élément regroupe :\n\n- le partenaire à l'origine de l'offre d'emploi\n- l'identifiant unique de l'offre d'emploi au sein du système d'information La bonne alternance"},"workplace":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Nom de l'établissement (enseigne ou, à défaut, nom légal) ou nom légal du CFA si is_delegated = true\n\nDans le cas de la publication d'une offre d'emploi, il est possible d'utiliser un nom personnalisé ; sinon, il prendra la valeur de l'enseigne, ou à défaut, du nom légal.","examples":["DIRECTION INTERMINISTERIELLE DU NUMERIQUE (DINUM)"]},"description":{"type":["string","null"],"description":"Description de l'employeur et/ou du département où sera exécuté le contrat.","examples":["Service du Premier ministre, placé sous l’autorité du ministre de la Transformation et de la Fonction publiques, la direction interministérielle du numérique (DINUM) a pour mission d’élaborer la stratégie numérique de l’État et de piloter sa mise en œuvre. Notre objectif : un État plus efficace, plus simple et plus souverain grâce au numérique."]},"website":{"type":["string","null"],"format":"uri","description":"Site web de l'entreprise","examples":["https://beta.gouv.fr/startups/"]},"siret":{"type":["string","null"],"pattern":"^\\d{14}$","description":"SIRET du lieu d'exécution du contrat ou du CFA si is_delegated = true","examples":["13002526500013"]},"location":{"type":"object","properties":{"address":{"type":"string","description":"Adresse postale du lieu de l'offre d'emploi ou du CFA si is_delegated = true.","examples":["20 AVENUE DE SEGUR 75007 PARIS"]},"geopoint":{"$ref":"#/components/schemas/GeoJsonPoint"}},"required":["address","geopoint"],"description":"Adresse postale et géolocalisation rattachées au numéro SIRET de l’entreprise"},"brand":{"type":["string","null"],"description":"Enseigne de l'établissement","examples":["Enseigne (todo)"]},"legal_name":{"type":["string","null"],"description":"Raison sociale de l'entreprise ou raison sociale du CFA si is_delegated = true"},"size":{"type":["string","null"],"description":"Effectif de l'entreprise, en nombre d'employés","examples":["100-199"]},"domain":{"type":"object","properties":{"idcc":{"type":["number","null"],"description":"Numéro de convention collective associé au SIRET","examples":[1979]},"opco":{"type":["string","null"],"description":"OPérateur de Compétences (OPCO) associé au SIRET","examples":["OPCO 2i"]},"naf":{"type":["object","null"],"properties":{"code":{"type":"string","description":"Code NAF (secteur d'activité) associé au SIRET","examples":["8411Z"]},"label":{"type":["string","null"],"description":"Libellé du code NAF (secteur d'activité) associé au SIRET","examples":["Administration publique générale"]}},"required":["code","label"],"description":"Code NAF (secteur d'activité) associé au SIRET"}},"required":["idcc","opco","naf"],"description":"Regroupe des éléments qui décrivent le domaine auquel est rattaché le numéro SIRET de l’entreprise :\n\n- La Nomenclature d’Activité Française (NAF). Produite par l’INSEE, elle a pour objectif de faciliter l'organisation de l'information économique et sociale.\n- Le numéro IDCC de la convention collective. Produit par le ministère chargé du travail (Dares et DGT) et celui chargé de l’agriculture.\n- L’Opérateur de Compétence (OPCO) de rattachement pouvant prendre en charge le financement du contrat."}},"required":["name","description","website","siret","location","brand","legal_name","size","domain"],"description":"Le lieu d’exécution du contrat est décrit par :\n\n- Le nom (enseigne ou à défaut, raison sociale) et le numéro SIRET de l’entreprise.\n- La description de l’employeur et/ou du service où s’exécutera le contrat.\n- La tranche effectif de l’entreprise, en nombre de salariés.\n- Le site web de l’entreprise."},"apply":{"type":"object","properties":{"phone":{"type":["string","null"],"description":"Numéro de téléphone du recruteur ou du CFA si is_delegated = true\n\nSeuls les numéros de téléphone européens sont autorisés. Il y a également une vérification sur la nature du numéro : seuls les téléphones mobiles et fixes sont autorisés.","examples":["0199000000"]},"url":{"type":"string","format":"uri","description":"URL de redirection vers le formulaire de candidature","examples":["https://labonnealternance.apprentissage.beta.gouv.fr/recherche-apprentissage?display=list&page=fiche&type=matcha&itemId=664752a2ebe24062b758c641"]},"recipient_id":{"type":["string","null"],"description":"Identifiant à utiliser pour postuler à l'offre d'emploi via la route /v3/jobs/apply ou pour afficher le widget postuler. Si null, la candidature n'est pas disponible pour cette offre par la route apply_route ni par le widget /postuler."}},"required":["phone","url"],"description":"Cet élément regroupe les différents moyens de candidature proposés aux candidats.\n\n- URL vers laquelle rediriger le candidat pour qu’il postule\n- Numéro de téléphone de la personne chargée du recrutement\n- Identifiant de l’opportunité d’emploi à utiliser pour permettre à vos usagers de candidater directement depuis votre site grâce à [cette API complémentaire](./candidature-offre). Cet identifiant peut également servir et est obligatoire pour l'utilisation du widget de candidature /postuler"}},"required":["identifier","workplace","apply"],"description":"Recruteur"},"JobOfferRead":{"type":"object","properties":{"identifier":{"type":"object","properties":{"partner_job_id":{"type":"string","description":"Identifiant de l'offre dans le système d'information du partenaire.","examples":["b16a546a-e61f-4028-b5a3-1a7bbfaa4e3d"]},"id":{"type":["string","null"],"description":"Identifiant de l'offre d'emploi dans la base de données La bonne alternance.\n\nLes offres France Travail ne sont pas stockées dans la base de données La bonne alternance mais sont récupérées à la volée. Elles n'ont pas d'identifiant dans la base de données.","examples":["6687165396d52b5e01b409545"]},"partner_label":{"type":"string","description":"Partenaire à l'origine de l'offre d'emploi.\n\nDans le cas des offres collectées par La Bonne Alternance, le partner_label est : \"offres_emploi_lba\".<br />Dans le cas des entreprises identifiées comme ayant un fort potentiel d’embauche, le partner_label est : \"recruteurs_lba\".","examples":["France Travail","offres_emploi_lba"]}},"required":["partner_job_id","id","partner_label"],"description":"Cet élément regroupe :\n\n- le partenaire à l'origine de l'offre d'emploi\n- l'identifiant unique de l'offre d'emploi au sein du système d'information La bonne alternance"},"workplace":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Nom de l'établissement (enseigne ou, à défaut, nom légal) ou nom légal du CFA si is_delegated = true\n\nDans le cas de la publication d'une offre d'emploi, il est possible d'utiliser un nom personnalisé ; sinon, il prendra la valeur de l'enseigne, ou à défaut, du nom légal.","examples":["DIRECTION INTERMINISTERIELLE DU NUMERIQUE (DINUM)"]},"description":{"type":["string","null"],"description":"Description de l'employeur et/ou du département où sera exécuté le contrat.","examples":["Service du Premier ministre, placé sous l’autorité du ministre de la Transformation et de la Fonction publiques, la direction interministérielle du numérique (DINUM) a pour mission d’élaborer la stratégie numérique de l’État et de piloter sa mise en œuvre. Notre objectif : un État plus efficace, plus simple et plus souverain grâce au numérique."]},"website":{"type":["string","null"],"format":"uri","description":"Site web de l'entreprise","examples":["https://beta.gouv.fr/startups/"]},"siret":{"type":["string","null"],"pattern":"^\\d{14}$","description":"SIRET du lieu d'exécution du contrat ou du CFA si is_delegated = true","examples":["13002526500013"]},"location":{"type":"object","properties":{"address":{"type":"string","description":"Adresse postale du lieu de l'offre d'emploi ou du CFA si is_delegated = true.","examples":["20 AVENUE DE SEGUR 75007 PARIS"]},"geopoint":{"$ref":"#/components/schemas/GeoJsonPoint"}},"required":["address","geopoint"],"description":"Adresse postale et géolocalisation rattachées au numéro SIRET de l’entreprise"},"brand":{"type":["string","null"],"description":"Enseigne de l'établissement","examples":["Enseigne (todo)"]},"legal_name":{"type":["string","null"],"description":"Raison sociale de l'entreprise ou raison sociale du CFA si is_delegated = true"},"size":{"type":["string","null"],"description":"Effectif de l'entreprise, en nombre d'employés","examples":["100-199"]},"domain":{"type":"object","properties":{"idcc":{"type":["number","null"],"description":"Numéro de convention collective associé au SIRET","examples":[1979]},"opco":{"type":["string","null"],"description":"OPérateur de Compétences (OPCO) associé au SIRET","examples":["OPCO 2i"]},"naf":{"type":["object","null"],"properties":{"code":{"type":"string","description":"Code NAF (secteur d'activité) associé au SIRET","examples":["8411Z"]},"label":{"type":["string","null"],"description":"Libellé du code NAF (secteur d'activité) associé au SIRET","examples":["Administration publique générale"]}},"required":["code","label"],"description":"Code NAF (secteur d'activité) associé au SIRET"}},"required":["idcc","opco","naf"],"description":"Regroupe des éléments qui décrivent le domaine auquel est rattaché le numéro SIRET de l’entreprise :\n\n- La Nomenclature d’Activité Française (NAF). Produite par l’INSEE, elle a pour objectif de faciliter l'organisation de l'information économique et sociale.\n- Le numéro IDCC de la convention collective. Produit par le ministère chargé du travail (Dares et DGT) et celui chargé de l’agriculture.\n- L’Opérateur de Compétence (OPCO) de rattachement pouvant prendre en charge le financement du contrat."}},"required":["name","description","website","siret","location","brand","legal_name","size","domain"],"description":"Le lieu d’exécution du contrat est décrit par :\n\n- Le nom (enseigne ou à défaut, raison sociale) et le numéro SIRET de l’entreprise.\n- La description de l’employeur et/ou du service où s’exécutera le contrat.\n- La tranche effectif de l’entreprise, en nombre de salariés.\n- Le site web de l’entreprise."},"apply":{"type":"object","properties":{"phone":{"type":["string","null"],"description":"Numéro de téléphone du recruteur ou du CFA si is_delegated = true\n\nSeuls les numéros de téléphone européens sont autorisés. Il y a également une vérification sur la nature du numéro : seuls les téléphones mobiles et fixes sont autorisés.","examples":["0199000000"]},"url":{"type":"string","format":"uri","description":"URL de redirection vers le formulaire de candidature","examples":["https://labonnealternance.apprentissage.beta.gouv.fr/recherche-apprentissage?display=list&page=fiche&type=matcha&itemId=664752a2ebe24062b758c641"]},"recipient_id":{"type":["string","null"],"description":"Identifiant à utiliser pour postuler à l'offre d'emploi via la route /v3/jobs/apply ou pour afficher le widget postuler. Si null, la candidature n'est pas disponible pour cette offre par la route apply_route ni par le widget /postuler."}},"required":["phone","url"],"description":"Cet élément regroupe les différents moyens de candidature proposés aux candidats.\n\n- URL vers laquelle rediriger le candidat pour qu’il postule\n- Numéro de téléphone de la personne chargée du recrutement\n- Identifiant de l’opportunité d’emploi à utiliser pour permettre à vos usagers de candidater directement depuis votre site grâce à [cette API complémentaire](./candidature-offre). Cet identifiant peut également servir et est obligatoire pour l'utilisation du widget de candidature /postuler"},"contract":{"type":"object","properties":{"start":{"type":["string","null"],"format":"date-time","description":"Date de début du contrat.","examples":["2024-09-23T10:00:00.000Z"]},"duration":{"type":["integer","null"],"minimum":0,"description":"Durée du contrat en mois.","examples":[12]},"type":{"type":"array","items":{"type":"string","enum":["Apprentissage","Professionnalisation"],"description":"Type de contrat (apprentissage et/ou professionnalisation)","examples":["Apprentissage","Professionnalisation"]},"description":"Type de contrat (apprentissage et/ou professionnalisation)"},"remote":{"type":["string","null"],"enum":["onsite","remote","hybrid"],"description":"Mode de travail (sur site, à distance ou hybride)","examples":["onsite","remote","hybrid"]}},"required":["start","duration","type","remote"],"description":"Un contrat est décrit par :\n\n- Le type (apprentissage et/ou professionnalisation).\n- La date de début.\n- La durée.\n- Le mode de travail (présentiel, télétravail ou hybride)."},"offer":{"type":"object","properties":{"title":{"type":"string","minLength":3,"description":"Intitulé de l'offre d'emploi.","examples":["Développeur / Développeuse web"]},"desired_skills":{"type":"array","items":{"type":"string","description":"Les compétences ou qualités attendues pour le poste.","examples":["Faire preuve d'autonomie","Faire preuve de créativité, d'inventivité","Faire preuve de rigueur et de précision","Travailler en équipe"]},"description":"Les compétences ou qualités attendues pour le poste."},"to_be_acquired_skills":{"type":"array","items":{"type":"string","description":"Les compétences ou qualités à acquérir durant l'apprentissage.","examples":["Recherche, Innovation : Analyser les indicateurs pertinents sur les tendances et les usages des clients","Recherche, Innovation : Concevoir et développer une solution digitale","Nouvelles technologies : Assembler des composants logiciels"]},"description":"Les compétences ou qualités à acquérir durant l'apprentissage."},"access_conditions":{"type":"array","items":{"type":"string","description":"Les conditions d'accès au métier","examples":["Ce métier est accessible avec un diplôme de niveau Bac+2 (BTS, DUT) à Master (MIAGE, diplôme d'ingénieur, Master professionnel, ...) en informatique.","Il est également accessible avec une expérience professionnelle en informatique, système d'exploitation ou dans un domaine applicatif.","La pratique de l'anglais (vocabulaire technique) est requise."]},"description":"Les conditions d'accès au métier"},"opening_count":{"type":"number","description":"Nombre de postes disponibles pour cette offre d'emploi","examples":[1,3]},"publication":{"type":"object","properties":{"creation":{"type":["string","null"],"format":"date-time","description":"Date de création de l'opportunité d'emploi.","examples":["2024-07-23T13:23:01.000Z"]},"expiration":{"type":["string","null"],"format":"date-time","description":"Date d'expiration de l'opportunité d'emploi.","examples":["2027-05-14T00:00:00Z"]}},"required":["creation","expiration"],"description":"Une opportunité d’emploi possède un cycle de vie : une date de création et une date d'expiration."},"rome_codes":{"type":"array","items":{"type":"string","pattern":"^[A-Z]\\d{4}$","description":"Code ROME","examples":["A1401"]},"description":"Code(s) ROME de l'offre"},"description":{"type":"string","description":"Description de l'offre d'emploi.","examples":["Conçoit, développe et met au point un projet d'application informatique, de la phase d'étude à son intégration, pour un client ou une entreprise selon des besoins fonctionnels et un cahier des charges. Peut conduire des projets de développement. Peut coordonner une équipe."]},"target_diploma":{"type":["object","null"],"properties":{"european":{"type":"string","enum":["3","4","5","6","7"],"description":"Diplôme visé à l'issue des études.","examples":["3"]},"label":{"type":"string","description":"Le nom du diplôme visé à l'issue des études.","examples":["BP, Bac, autres formations niveau (Bac)"]}},"required":["european","label"],"description":"Diplôme visé à l'issue des études."},"status":{"type":"string","enum":["Active","Filled","Cancelled"],"description":"Le statut de l'offre (cycle de vie) :\n\n- Active : L'offre est disponible sur la plateforme et il est possible d'y postuler.\n- Filled : L'offre a été pourvue et n'est donc plus disponible.\n- Cancelled : L'offre a été annulée et n'est donc plus disponible.\n\nSeules les offres actives sont retournées par la recherche.","examples":["Active"]}},"required":["title","desired_skills","to_be_acquired_skills","access_conditions","opening_count","publication","rome_codes","description","target_diploma","status"],"description":"Une offre d’emploi est décrite par :\n\n- L’intitulé. Exemple : Développeur / Développeuse web.\n- La description. Exemple : Conçoit, développe et met au point un projet d'application informatique, de la phase d'étude à son intégration, pour un client ou une entreprise selon des besoins fonctionnels et un cahier des charges. Peut conduire des projets de développement. Peut coordonner une équipe.\n- Le niveau de diplôme visé. Exemple : BP, Bac, autres formations niveau (Bac)\n- Les compétences ou qualités attendues pour le poste. Exemple : Faire preuve d'autonomie ; Faire preuve de créativité, d'inventivité ; Faire preuve de rigueur et de précision ; Travailler en équipe\n- Les compétences ou qualités à acquérir durant l'alternance. Exemple : Recherche, Innovation (Analyser les indicateurs pertinents sur les tendances et les usages des clients ; Concevoir et développer une solution digitale ; Créer une documentation technique). Nouvelles technologies (Assembler des composants logiciels ; Concevoir une application web)\n- Les conditions d’accès au métier. Exemple : Ce métier est accessible avec un diplôme de niveau Bac+2 (BTS, DUT) à Master (MIAGE, diplôme d'ingénieur, Master professionnel, ...) en informatique. Il est également accessible avec une expérience professionnelle en informatique, système d'exploitation ou dans un domaine applicatif. La pratique de l'anglais (vocabulaire technique) est requise.\n- Le nombre de postes à pourvoir.\n- Le ou les codes ROME associés. Exemple : M1805, M1806, M1807"},"is_delegated":{"type":"boolean","description":"Indique si la gestion de l'offre est déléguée à un CFA partenaire. valeurs true | false","default":false,"examples":[true]}},"required":["identifier","workplace","apply","contract","offer","is_delegated"],"description":"Offre d'emploi"},"JobOfferPublishing":{"type":"object","properties":{"publishing":{"type":"object","properties":{"status":{"type":"string","enum":["WILL_BE_PUBLISHED","PUBLISHED","WILL_NOT_BE_PUBLISHED"],"description":"Etat de la publication. Si la valeur vaut WILL_NOT_BE_PUBLISHED, l'offre ne sera pas publiée.","examples":["WILL_BE_PUBLISHED","PUBLISHED","WILL_NOT_BE_PUBLISHED"]},"error":{"type":"object","properties":{"code":{"type":"string","description":"Code de l'erreur. Ce code ne changera pas.","examples":["CLOSED_COMPANY","DUPLICATE","STAGE","EXPIRED","CFA","ROME_BLACKLISTED","WRONG_DATA","NON_DIFFUSIBLE"]},"label":{"type":"string","description":"Description de l'erreur","examples":["WILL_BE_PUBLISHED","PUBLISHED","WILL_NOT_BE_PUBLISHED"]}},"required":["code","label"],"description":"Objet contenant l'erreur"}},"required":["status"],"description":"Informations sur la publication de l'offre d'emploi"}},"required":["publishing"],"description":"Informations sur la publication de l'offre d'emploi"},"JobOfferExport":{"type":"object","properties":{"url":{"type":"string","description":"URL de l'export. le lien de téléchargement est valable pendant 2 minutes. \n\nLes offres sont au format JSON. La structure de données des offres est identique à la réponse de la [route de recherche](/fr/documentation-technique#tag/Offre-Emploi/operation/jobSearch)","examples":["https://s3.rbx.io.cloud.ovh.net/bucket/file.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD"]},"lastUpdate":{"type":"string","format":"date-time","description":"Date de l'export","examples":["2025-06-26T08:28:05.000Z"]}},"required":["url","lastUpdate"],"description":"Informations concernant l'export de toutes les offres."},"JobOfferWrite":{"type":"object","properties":{"identifier":{"type":"object","properties":{"partner_job_id":{"type":"string","description":"Identifiant de l'offre dans le système d'information du partenaire.","examples":["b16a546a-e61f-4028-b5a3-1a7bbfaa4e3d"]}},"required":["partner_job_id"],"description":"Cet élément regroupe :\n\n- le partenaire à l'origine de l'offre d'emploi\n- l'identifiant unique de l'offre d'emploi au sein du système d'information La bonne alternance"},"workplace":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Nom de l'établissement (enseigne ou, à défaut, nom légal) ou nom légal du CFA si is_delegated = true\n\nDans le cas de la publication d'une offre d'emploi, il est possible d'utiliser un nom personnalisé ; sinon, il prendra la valeur de l'enseigne, ou à défaut, du nom légal.","examples":["DIRECTION INTERMINISTERIELLE DU NUMERIQUE (DINUM)"]},"description":{"type":["string","null"],"description":"Texte pouvant contenir des balises HTML limitées aux suivantes :\n\n- `<b>`, `<i>`, `<em>`, `<strong>`, `<p>`, `<br>`, `<ul>`, `<li>`.\n\nToute autre balise ou attribut sera supprimée lors de la validation","examples":["Service du Premier ministre, placé sous l’autorité du ministre de la Transformation et de la Fonction publiques, la direction interministérielle du numérique (DINUM) a pour mission d’élaborer la stratégie numérique de l’État et de piloter sa mise en œuvre. Notre objectif : un État plus efficace, plus simple et plus souverain grâce au numérique."]},"website":{"type":["string","null"],"format":"uri","description":"Site web de l'entreprise","examples":["https://beta.gouv.fr/startups/"]},"siret":{"type":"string","pattern":"^\\d{14}$","description":"SIRET du lieu d'exécution du contrat\n\nLa marque, le nom légal, la taille, l'IDCC, l'OPCO et le NAF sont automatiquement déduits du SIRET.","examples":["13002526500013"]},"location":{"type":["object","null"],"properties":{"address":{"type":["string","null"],"description":"Adresse de l'offre d'emploi\n\nDans le cas de la publication d'une offre d'emploi, une adresse personnalisée peut être fournie ; sinon, l'adresse de l'établissement sera utilisée.\n\nLe champ geopoint est dérivé de l'adresse.","examples":["20 AVENUE DE SEGUR 75007 PARIS"]}},"description":"Adresse postale et géolocalisation rattachées au numéro SIRET de l’entreprise"}},"required":["siret"],"description":"Le lieu d’exécution du contrat est décrit par :\n\n- Le nom (enseigne ou à défaut, raison sociale) et le numéro SIRET de l’entreprise.\n- La description de l’employeur et/ou du service où s’exécutera le contrat.\n- La tranche effectif de l’entreprise, en nombre de salariés.\n- Le site web de l’entreprise."},"apply":{"type":"object","properties":{"email":{"type":["string","null"],"format":"email","description":"Adresse email du recruteur","examples":["jean.dupuis@beta.gouv.fr"]},"url":{"type":["string","null"],"format":"uri","description":"URL de redirection","examples":["https://labonnealternance.apprentissage.beta.gouv.fr/recherche-apprentissage?display=list&page=fiche&type=matcha&itemId=664752a2ebe24062b758c641"]},"phone":{"type":["string","null"],"description":"Numéro de téléphone du recruteur ou du CFA si is_delegated = true\n\nSeuls les numéros de téléphone européens sont autorisés. Il y a également une vérification sur la nature du numéro : seuls les téléphones mobiles et fixes sont autorisés.","examples":["0199000000"]}},"description":"Eléments qui permettent de déposer une candidature (au moins 1 élément requis sur 3):\n\n- URL de redirection\n- numéro de téléphone\n- email de l’entreprise"},"contract":{"type":"object","properties":{"duration":{"type":["integer","null"],"minimum":0,"description":"Durée du contrat en mois.","examples":[12]},"start":{"type":["string","null"],"format":"date-time","description":"Date de début du contrat.","examples":["2024-09-23T10:00:00.000Z"]},"remote":{"type":["string","null"],"enum":["onsite","remote","hybrid"],"description":"Mode de travail (sur site, à distance ou hybride)","examples":["onsite","remote","hybrid"]},"type":{"type":"array","items":{"type":"string","enum":["Apprentissage","Professionnalisation"],"description":"Type de contrat (apprentissage et/ou professionnalisation)","examples":["Apprentissage","Professionnalisation"]},"default":["Apprentissage","Professionnalisation"],"description":"Type de contrat (apprentissage et/ou professionnalisation)"}},"description":"Un contrat est décrit par :\n\n- Le type (apprentissage et/ou professionnalisation).\n- La date de début.\n- La durée.\n- Le mode de travail (présentiel, télétravail ou hybride)."},"offer":{"type":"object","properties":{"title":{"type":"string","minLength":3,"description":"Intitulé de l'offre d'emploi.","examples":["Développeur / Développeuse web"]},"desired_skills":{"type":"array","items":{"type":"string","description":"Les compétences ou qualités attendues pour le poste.","examples":["Faire preuve d'autonomie","Faire preuve de créativité, d'inventivité","Faire preuve de rigueur et de précision","Travailler en équipe"]},"default":[],"description":"Les compétences ou qualités attendues pour le poste."},"to_be_acquired_skills":{"type":"array","items":{"type":"string","description":"Les compétences ou qualités à acquérir durant l'apprentissage.","examples":["Recherche, Innovation : Analyser les indicateurs pertinents sur les tendances et les usages des clients","Recherche, Innovation : Concevoir et développer une solution digitale","Nouvelles technologies : Assembler des composants logiciels"]},"default":[],"description":"Les compétences ou qualités à acquérir durant l'apprentissage."},"access_conditions":{"type":"array","items":{"type":"string","description":"Les conditions d'accès au métier","examples":["Ce métier est accessible avec un diplôme de niveau Bac+2 (BTS, DUT) à Master (MIAGE, diplôme d'ingénieur, Master professionnel, ...) en informatique.","Il est également accessible avec une expérience professionnelle en informatique, système d'exploitation ou dans un domaine applicatif.","La pratique de l'anglais (vocabulaire technique) est requise."]},"default":[],"description":"Les conditions d'accès au métier"},"opening_count":{"type":"number","default":1,"description":"Nombre de postes disponibles pour cette offre d'emploi","examples":[1,3]},"description":{"type":"string","minLength":30,"description":"Texte pouvant contenir des balises HTML limitées aux suivantes :\n\n- `<b>`, `<i>`, `<em>`, `<strong>`, `<p>`, `<br>`, `<ul>`, `<li>`.\n\nToute autre balise ou attribut sera supprimée lors de la validation","examples":["Conçoit, développe et met au point un projet d'application informatique, de la phase d'étude à son intégration, pour un client ou une entreprise selon des besoins fonctionnels et un cahier des charges. Peut conduire des projets de développement. Peut coordonner une équipe."]},"rome_codes":{"type":["array","null"],"items":{"type":"string","pattern":"^[A-Z]\\d{4}$","description":"Code ROME","examples":["A1401"]},"description":"Code(s) ROME de l'offre\n\nSi l'offre publiée ne dispose pas de code ROME fourni, nous déduisons les codes ROME à partir du titre de l'offre d'emploi."},"target_diploma":{"type":["object","null"],"properties":{"european":{"type":["string","null"],"enum":["3","4","5","6","7"],"description":"Diplôme visé à l'issue des études.","examples":["3"]}},"description":"Diplôme visé à l'issue des études."},"publication":{"type":"object","properties":{"creation":{"type":["string","null"],"format":"date-time","description":"Date de création de l'opportunité d'emploi.","examples":["2024-07-23T13:23:01.000Z"]},"expiration":{"type":["string","null"],"format":"date-time","description":"Date d'expiration de l'opportunité d'emploi.","examples":["2027-05-14T00:00:00Z"]}},"description":"Une opportunité d’emploi possède un cycle de vie : une date de création et une date d'expiration."},"multicast":{"type":"boolean","description":"Si l'offre peut être diffusé sur l'ensemble des plateformes partenaires","default":true},"origin":{"type":["string","null"],"description":"Origine de l'offre provenant d'un aggregateur"},"status":{"type":"string","enum":["Active","Filled","Cancelled"],"default":"Active","description":"Le statut de l'offre (cycle de vie) :\n\n- Active : L'offre est disponible sur la plateforme et il est possible d'y postuler.\n- Filled : L'offre a été pourvue et n'est donc plus disponible.\n- Cancelled : L'offre a été annulée et n'est donc plus disponible.\n\nSeules les offres actives sont retournées par la recherche.\n\nLors de la création d'une offre, seules les offres actives sont acceptées. Cependant, lors d'une mise à jour, il est possible d'annuler ou de marquer une offre comme remplie.","examples":["Active","Filled","Cancelled"]}},"required":["title","description"],"description":"Une offre d’emploi est décrite par :\n\n- L’intitulé. Exemple : Développeur / Développeuse web.\n- La description. Exemple : Conçoit, développe et met au point un projet d'application informatique, de la phase d'étude à son intégration, pour un client ou une entreprise selon des besoins fonctionnels et un cahier des charges. Peut conduire des projets de développement. Peut coordonner une équipe.\n- Le niveau de diplôme visé. Exemple : BP, Bac, autres formations niveau (Bac)\n- Les compétences ou qualités attendues pour le poste. Exemple : Faire preuve d'autonomie ; Faire preuve de créativité, d'inventivité ; Faire preuve de rigueur et de précision ; Travailler en équipe\n- Les compétences ou qualités à acquérir durant l'alternance. Exemple : Recherche, Innovation (Analyser les indicateurs pertinents sur les tendances et les usages des clients ; Concevoir et développer une solution digitale ; Créer une documentation technique). Nouvelles technologies (Assembler des composants logiciels ; Concevoir une application web)\n- Les conditions d’accès au métier. Exemple : Ce métier est accessible avec un diplôme de niveau Bac+2 (BTS, DUT) à Master (MIAGE, diplôme d'ingénieur, Master professionnel, ...) en informatique. Il est également accessible avec une expérience professionnelle en informatique, système d'exploitation ou dans un domaine applicatif. La pratique de l'anglais (vocabulaire technique) est requise.\n- Le nombre de postes à pourvoir.\n- Le ou les codes ROME associés. Exemple : M1805, M1806, M1807"}},"required":["workplace","apply","offer"],"description":"Offre d'emploi"},"JobApplicationWrite":{"type":"object","properties":{"applicant_first_name":{"type":"string","minLength":1,"maxLength":50,"description":"Prénom du candidat"},"applicant_last_name":{"type":"string","minLength":1,"maxLength":50,"description":"Nom du candidat"},"applicant_email":{"type":"string","format":"email","description":"Email du candidat"},"applicant_phone":{"type":"string","description":"Numéro de téléphone du candidat"},"applicant_attachment_name":{"type":"string","minLength":1,"pattern":"((.*?))(\\.)+([Dd][Oo][Cc][Xx]|[Pp][Dd][Ff])$","description":"Nom du CV"},"applicant_message":{"type":["string","null"],"description":"Message du candidat"},"applicant_attachment_content":{"type":"string","maxLength":4215276,"format":"byte","description":"CV du candidat"},"recipient_id":{"type":"string","description":"Identifiant du destinataire récupéré de `apply.recipient_id` depuis les resultas de la route de recherche."}},"required":["applicant_first_name","applicant_last_name","applicant_email","applicant_phone","applicant_attachment_name","applicant_attachment_content","recipient_id"],"additionalProperties":false,"description":"Candidature"},"Formation":{"type":"object","properties":{"identifiant":{"type":"object","properties":{"cle_ministere_educatif":{"type":"string","description":"Identifiant unique de la formation sur [le catalogue des formations en apprentissage](https://catalogue-apprentissage.intercariforef.org/recherche/formations)"}},"required":["cle_ministere_educatif"],"additionalProperties":false,"description":"Identifiant de la formation"},"statut":{"type":"object","properties":{"catalogue":{"type":"string","enum":["publié","supprimé","archivé"],"description":"Statut de la formation sur le catalogue"}},"required":["catalogue"],"additionalProperties":false,"description":"Statut de la formation"},"formateur":{"type":"object","properties":{"organisme":{"anyOf":[{"$ref":"#/components/schemas/Organisme"},{"type":"null"}],"description":"L'organisme de formation"},"connu":{"type":"boolean","description":"Indique si le formateur est connu de l'API\n\nL'organisme est connu lorsqu'il est présent dans [le référentiel des organismes de formation](https://referentiel.apprentissage.onisep.fr/organismes) ou s'il l'a été dans le passé.\n\nIl peut s'agir d'un organisme qui n'est plus sur le référentiel des organismes de formation. Veuillez vérifier le statut de l'organisme."}},"required":["organisme","connu"],"additionalProperties":false,"description":"Formateur de la formation\n\nL'organisme formateur a pour mission de dispenser la formation"},"responsable":{"type":"object","properties":{"organisme":{"anyOf":[{"$ref":"#/components/schemas/Organisme"},{"type":"null"}],"description":"L'organisme responsable"},"connu":{"type":"boolean","description":"Indique si le responsable est connu de l'API\n\nL'organisme est connu lorsqu'il est présent dans [le référentiel des organismes de formation](https://referentiel.apprentissage.onisep.fr/organismes) ou s'il l'a été dans le passé."}},"required":["organisme","connu"],"additionalProperties":false,"description":"Responsable de la formation\n\nLe responsable de la formation est l'organisme qui a la responsabilité administrative de la formation\n\nIl peut s'agir d'un organisme qui n'est plus sur le référentiel des organismes de formation. Veuillez vérifier le statut de l'organisme."},"certification":{"type":"object","properties":{"valeur":{"$ref":"#/components/schemas/Certification"},"connue":{"type":"boolean","description":"Lorsque la certification est connue, alors la certification est disponible dans l'API certifications\n\nDans le cas contraire, la certification est construite à partir des informations issue du RNCP et du CFD indépendemment."}},"required":["valeur","connue"],"additionalProperties":false,"description":"Certification de la formation"},"lieu":{"type":"object","properties":{"adresse":{"$ref":"#/components/schemas/Adresse"},"geolocalisation":{"$ref":"#/components/schemas/GeoJsonPoint"},"precision":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Précision de la géolocalisation du lieu de formation en mètres.\n\nIl s'agit de la distance entre le point géolocalisé et la locasation déduite de l'adresse"},"siret":{"anyOf":[{"type":"string","pattern":"^\\d{14}$"},{"type":"null"}],"description":"Numéro SIRET du lieu de formation"},"uai":{"anyOf":[{"type":"string","pattern":"^\\d{7}[A-Z]$"},{"type":"null"}],"description":"Numéro UAI du lieu de formation"}},"required":["adresse","geolocalisation","precision","siret","uai"],"additionalProperties":false,"description":"Lieu où la formation est dispensée"},"contact":{"type":"object","properties":{"email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}],"description":"Email de contact de la formation"},"telephone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Téléphone de contact de la formation"}},"required":["email","telephone"],"additionalProperties":false,"description":"Coordonnées à utiliser pour contacter l'organisme"},"onisep":{"type":"object","properties":{"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"intitule":{"anyOf":[{"type":"string"},{"type":"null"}]},"libelle_poursuite":{"anyOf":[{"type":"string"},{"type":"null"}]},"lien_site_onisepfr":{"anyOf":[{"type":"string"},{"type":"null"}]},"discipline":{"anyOf":[{"type":"string"},{"type":"null"}]},"domaine_sousdomaine":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["url","intitule","libelle_poursuite","lien_site_onisepfr","discipline","domaine_sousdomaine"],"additionalProperties":false,"description":"Informations lié à la formation issues de l'ONISEP"},"modalite":{"type":"object","properties":{"entierement_a_distance":{"type":"boolean","description":"Indique si la formation est entièrement à distance"},"duree_indicative":{"type":"number","description":"Durée indicative de la formation"},"annee_cycle":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"- L'année de démarrage de la session de formation."},"mef_10":{"anyOf":[{"type":"string","pattern":"^\\d{10}$"},{"type":"null"}],"description":"Code MEF 10 de la formation"}},"required":["entierement_a_distance","duree_indicative","annee_cycle","mef_10"],"additionalProperties":false,"description":"Modalité de la formation"},"contenu_educatif":{"type":"object","properties":{"contenu":{"type":"string","description":"Contenu de la formation"},"objectif":{"type":"string","description":"Objectif de la formation"}},"required":["contenu","objectif"],"additionalProperties":false,"description":"Contenu éducatif de la formation"},"sessions":{"type":"array","items":{"type":"object","properties":{"debut":{"type":"string","format":"date-time","description":"Date de début de la session"},"fin":{"type":"string","format":"date-time","description":"Date de fin de la session"},"capacite":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Capacité de la session"}},"required":["debut","fin","capacite"],"additionalProperties":false,"description":"Session de formation"},"description":"Liste des sessions de formation"}},"required":["identifiant","statut","formateur","responsable","certification","lieu","contact","onisep","modalite","contenu_educatif","sessions"],"additionalProperties":false,"description":"Formation"},"Organisme":{"type":"object","properties":{"identifiant":{"type":"object","properties":{"uai":{"anyOf":[{"type":"string","pattern":"^\\d{7}[A-Z]$"},{"type":"null"}],"description":"Numéro UAI de l'organisme"},"siret":{"type":"string","pattern":"^\\d{14}$","description":"Numéro SIRET de l'organisme"}},"required":["uai","siret"],"additionalProperties":false,"description":"Identifiant de l'organisme"},"etablissement":{"type":"object","properties":{"siret":{"type":"string","pattern":"^\\d{14}$","description":"Numéro SIRET de l'établissement"},"ouvert":{"type":"boolean","description":"Etablissement ouvert"},"enseigne":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Enseigne de l'établissement"},"adresse":{"anyOf":[{"$ref":"#/components/schemas/Adresse"},{"type":"null"}],"description":"Adresse de l'établissement"},"geopoint":{"anyOf":[{"$ref":"#/components/schemas/GeoJsonPoint"},{"type":"null"}],"description":"Coordonnées GPS de l'établissement"},"creation":{"type":"string","format":"date-time","description":"Date de création de l'établissement"},"fermeture":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de fermeture de l'établissement"}},"required":["siret","ouvert","enseigne","adresse","geopoint","creation","fermeture"],"additionalProperties":false,"description":"Etablissement de l'organisme"},"unite_legale":{"type":"object","properties":{"siren":{"type":"string","description":"Numéro SIREN de l'unité légale"},"actif":{"type":"boolean","description":"Unité légale active"},"raison_sociale":{"type":"string","description":"Raison sociale de l'unité légale"},"creation":{"type":"string","format":"date-time","description":"Date de création de l'unité légale"},"cessation":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Date de cessation de l'unité légale"}},"required":["siren","actif","raison_sociale","creation","cessation"],"additionalProperties":false,"description":"Unité légale de l'organisme"},"renseignements_specifiques":{"type":"object","properties":{"qualiopi":{"type":"boolean","description":"Qualiopi"},"numero_activite":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Numéro d'activité"}},"required":["qualiopi","numero_activite"],"additionalProperties":false,"description":"Renseignements spécifiques"},"statut":{"type":"object","properties":{"referentiel":{"type":"string","enum":["présent","supprimé"],"description":"Statut de l'organisme dans le réferentiel des organismes en apprentissage"}},"required":["referentiel"],"additionalProperties":false,"description":"Statut de l'organisme"},"contacts":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email du contact"},"sources":{"type":"array","items":{"type":"string"},"description":"Sources du contact"},"confirmation_referentiel":{"type":"boolean","description":"Indique si le contact a un statut \"confirmé\" sur le référentiel des organismes de formation"}},"required":["email","sources","confirmation_referentiel"],"additionalProperties":false},"description":"Contacts de l'organisme"}},"required":["identifiant","etablissement","unite_legale","renseignements_specifiques","statut","contacts"],"additionalProperties":false},"GeoJsonPoint":{"type":"object","properties":{"coordinates":{"type":"array","prefixItems":[{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","examples":[48.850699]},{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","examples":[2.308628]}]},"type":{"type":"string","const":"Point"}},"required":["coordinates","type"],"additionalProperties":false},"GeoJsonPolygon":{"type":"object","properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","prefixItems":[{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","examples":[48.850699]},{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","examples":[2.308628]}]}}},"type":{"type":"string","const":"Polygon"}},"required":["coordinates","type"],"additionalProperties":false},"Adresse":{"type":"object","properties":{"label":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Libellé de l'adresse"},"code_postal":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Code postal"},"commune":{"type":"object","properties":{"nom":{"type":"string","description":"Nom de la ville"},"code_insee":{"type":"string","description":"Code INSEE de la ville"}},"required":["nom","code_insee"],"additionalProperties":false,"description":"Ville"},"departement":{"type":"object","properties":{"nom":{"type":"string","description":"Nom du département"},"code_insee":{"type":"string","description":"Code INSEE du département"}},"required":["nom","code_insee"],"additionalProperties":false,"description":"Département"},"region":{"type":"object","properties":{"code_insee":{"type":"string","description":"Code INSEE de la région"},"nom":{"type":"string","description":"Nom de la région"}},"required":["code_insee","nom"],"additionalProperties":false,"description":"Région"},"academie":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant de l'académie","examples":["1"]},"code":{"type":"string","description":"Code de l'académie","examples":["A1"]},"nom":{"type":"string","description":"Nom de l'académie","examples":["Académie de Paris"]}},"required":["id","code","nom"],"additionalProperties":false,"description":"Académie"}},"required":["label","code_postal","commune","departement","region","academie"],"additionalProperties":false,"description":"Adresse"},"Pagination":{"type":"object","properties":{"page_count":{"type":"integer","minimum":0,"description":"Nombre total de pages"},"page_size":{"type":"integer","minimum":1,"maximum":1000,"description":"Nombre d'éléments par page"},"page_index":{"type":"integer","minimum":0,"description":"Numéro de la page actuelle"}},"required":["page_count","page_size","page_index"],"additionalProperties":false,"description":"Informations de pagination"}},"responses":{"BadRequest":{"description":"Requête invalide","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","examples":["Request validation failed"]},"name":{"type":"string","description":"Le type générique de l'erreur","examples":["Bad Request"]},"statusCode":{"type":"number","enum":[400],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Requête invalide"}}}},"Unauthorized":{"description":"Clé d’API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"Vous devez être connecté pour accéder à cette ressource"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Unauthorized"},"statusCode":{"type":"number","enum":[401],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Clé d’API manquante ou invalide"}}}},"Forbidden":{"description":"Habilitations insuffisantes pour accéder à la ressource","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"Le jeton d'accès est invalide"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Forbidden"},"statusCode":{"type":"number","enum":[403],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Habilitations insuffisantes pour accéder à la ressource"}}}},"Conflict":{"description":"Conflit de ressource","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"La ressource exite déjà"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Conflict"},"statusCode":{"type":"number","enum":[409],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Conflit de ressource"}}}},"NotFound":{"description":"Ressource non trouvée","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"Resource non trouvée"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Not Found"},"statusCode":{"type":"number","enum":[404],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Ressource non trouvée"}}}},"TooManyRequests":{"description":"Limite de volumétrie atteinte pour la clé d’API","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"Limite de requêtes atteinte"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Too Many Requests"},"statusCode":{"type":"number","enum":[419],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Limite de volumétrie atteinte pour la clé d’API"}}}},"InternalServerError":{"description":"Une erreur inattendue s'est produite sur le serveur.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"The server was unable to complete your request"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Internal Server Error"},"statusCode":{"type":"number","enum":[500],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Une erreur inattendue s'est produite sur le serveur."}}}},"BadGateway":{"description":"Le service est indisponible.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"The server was unable to complete your request"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Bad Gateway"},"statusCode":{"type":"number","enum":[502],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Le service est indisponible."}}}},"ServiceUnavailable":{"description":"Le service est en maintenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"Données contextuelles liées à l'erreur"},"message":{"type":"string","description":"Un message explicatif de l'erreur","example":"The server was unable to complete your request"},"name":{"type":"string","description":"Le type générique de l'erreur","example":"Service Unavailable"},"statusCode":{"type":"number","enum":[502],"description":"Le status code retourné"}},"required":["message","name","statusCode"],"additionalProperties":false,"description":"Le service est en maintenance"}}}}}},"paths":{"/job/v1/search":{"get":{"operationId":"jobSearch","security":[{"api-key":[]}],"parameters":[{"schema":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de latitude.","examples":[48.8566]},"required":false,"name":"longitude","in":"query"},{"schema":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de longitude.","examples":[2.3522]},"required":false,"name":"latitude","in":"query"},{"schema":{"type":"number","minimum":0,"maximum":200,"default":30,"description":"Rayon de recherche en km, utile si une latitude et une longitude sont fournies. La valeur doit être comprise entre 0 et 200 et sera par défaut 30.","examples":[30]},"required":false,"name":"radius","in":"query"},{"schema":{"type":"string","enum":["3","4","5","6","7"],"description":"Niveau de diplôme cible à la fin des études.\n\nLors du filtrage par niveau de diplôme, nous retournons les données :\n\n- où le niveau de diplôme cible est inconnu / non précisé / indifférent\n- **et** lorsque le niveau de diplôme cible correspond au niveau de diplôme demandé\n\nEn filtrant sur le « 4 », seules les données relatives à ce niveau de diplôme, ainsi que celles avec des niveaux inconnus ou non précisés, vous seront renvoyées.","examples":["3","4","5","6","7"]},"required":false,"name":"target_diploma_level","in":"query"},{"schema":{"type":"string","description":"Code(s) ROME pour le champ de recherche\n\nLe ROME correspond à la référence opérationnelle pour les métiers et les emplois conçue par France Travail.\n\nListe des codes séparés par des virgules\n\nLes codes doivent respecter les formats ROME","examples":["F1601,F1201,F1106","M1806"]},"required":false,"name":"romes","in":"query"},{"schema":{"type":"string","pattern":"^RNCP\\d{3,5}$","description":"Code RNCP du périmètre de recherche\n\nLe RNCP correspond au Répertoire national des certifications professionnelles de [France Compétences](https://www.francecompetences.fr/reguler-le-marche/certification-professionnelle/)","examples":["RNCP34436","RNCP183"]},"required":false,"name":"rncp","in":"query"},{"schema":{"type":"string","enum":["AFDAS","AKTO / Opco entreprises et salariés des services à forte intensité de main d'oeuvre","ATLAS","Constructys","L'Opcommerce","OCAPIAT","OPCO 2i","Opco entreprises de proximité","Opco Mobilités","Opco Santé","Uniformation, l'Opco de la Cohésion sociale"],"description":"Filtrer les offres d’emploi par opco. voir la liste des valeurs possibles.","examples":["AFDAS"]},"required":false,"name":"opco","in":"query"},{"schema":{"type":"array","items":{"type":"string"},"description":"Filtrer les offres d’emploi par département. Ce paramètre accepte un tableau de numéros de départements","examples":["75&departements=06","06"]},"required":false,"name":"departements","in":"query"},{"schema":{"type":"array","items":{"type":"string"},"description":"Liste des labels de partenaires à exclure de la recherche.<br />Cette liste change régulièrement. La liste mise à jour est disponible [à cette adresse](http://labonnealternance.apprentissage.beta.gouv.fr/metabase/public/question/70f84c13-6156-4933-9fb3-54c88887d95d)","examples":["Hellowork&partners_to_exclude=RH Alternance","Hellowork"]},"required":false,"name":"partners_to_exclude","in":"query"}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobOfferRead"},"description":"Liste des offres d’emploi correspondant à la recherche.\n\nLes offres proviennent de:\n\n- collection sur la plateforme La bonne alternance\n- France Travail\n- publication via API par nos partenaires\n- partenaire via flux spécifique.\n\nActuellement, les résultats sont triés par :\n\n- Priorité source (La bonne alternance > France Travail > autres partenaires)\n- Augmentation de la distance (uniquement pour une recherche par emplacement)\n- Date de création décroissante\n\nLes résultats sont limités à 150 par source, et actuellement, il n’est pas possible de récupérer toutes les offres correspondant aux critères de recherche."},"recruiters":{"type":"array","items":{"$ref":"#/components/schemas/JobRecruiter"},"description":"Liste des entreprises qui n’ont pas publié d’offre d’emploi mais qui sont susceptibles d’embaucher des apprentis dans le domaine souhaité.\n\nLes résultats sont limités à 150, et actuellement, il n’est pas possible de retrouver tous les recruteurs correspondant aux critères de recherche."},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}},"required":["message","code"]},"description":"Liste des avertissements liés à la recherche.","examples":[{"message":"Some warning message","code":"WARNING_CODE"}]}},"required":["jobs","recruiters","warnings"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Recherche d'opportunités d'emploi en alternance","description":"Accéder en temps réel à toutes les opportunités d'emploi en apprentissage disponibles en France et proposez-les à vos utilisateurs gratuitement et sous un format white-label.<br /><br />**Limite de débit** : 60 appels par minute, par consommateur."}},"/job/v1/offer":{"post":{"operationId":"jobOfferCreate","security":[{"api-key":["jobs:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOfferWrite"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant de l'offre crée"}},"required":["id"]}}},"description":"Succès"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Dépôt d’offres d’emploi en alternance","description":"Cette API vous permet de maximiser la visibilité de vos offres d'emploi en alternance en les partageant avec le service La bonne alternance qui les redistribue automatiquement aux candidats les plus pertinents sur son site ainsi que sur ses sites partenaires. <br /><br /> **Limite de débit** : 30 appels par minute, par consommateur."}},"/job/v1/offer/{id}":{"put":{"operationId":"jobOfferUpdate","security":[{"api-key":["jobs:write"]}],"parameters":[{"schema":{"type":"string","description":"Identifiant unique de l’opportunité d’emploi","examples":["6687165396d52b5e01b409545"]},"required":true,"name":"id","in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOfferWrite"}}}},"responses":{"204":{"description":"Succès"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Modifier une offre d'emploi en alternance. L'offre doit être publiée et active","description":"Cette API vous permet de maximiser la visibilité de vos offres d'emploi en alternance en les partageant avec le service La bonne alternance qui les redistribue automatiquement aux candidats les plus pertinents sur son site ainsi que sur ses sites partenaires.<br /><br />**Limite de débit** : 30 appels par minute, par consommateur."},"get":{"operationId":"jobSearchById","security":[{"api-key":[]}],"parameters":[{"schema":{"type":"string","description":"Identifiant unique de l’opportunité d’emploi","examples":["6687165396d52b5e01b409545"]},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOfferRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Consulter une opportunité d'emploi en alternance","description":"Accéder au détail d'une opportunité d'emploi en alternance à partir de son identifiant.<br /><br />**Limite de débit** : 120 appels par minute, par consommateur. L'endpoint `publishing-informations` partage la même limite."}},"/job/v1/offer/{id}/publishing-informations":{"get":{"operationId":"jobPublisingInfos","security":[{"api-key":[]}],"parameters":[{"schema":{"type":"string","description":"Identifiant unique de l’opportunité d’emploi","examples":["6687165396d52b5e01b409545"]},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOfferPublishing"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Etat de la dernière publication de l'offre","description":"Cette route donne des informations sur l'état de la dernière publication de l'offre. En effet, la publication d'une offre peut prendre jusqu'à 10 minutes."}},"/job/v1/apply":{"post":{"operationId":"jobApply","security":[{"api-key":["applications:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobApplicationWrite"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant de la candidature."}},"required":["id"]}}},"description":"Succès"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Envoi d’une candidature à une opportunité d’emploi en alternance","description":"Afin de fluidifier le parcours de vos utilisateurs, cette API vous permet de transmettre directement aux recruteurs les candidatures de vos usagers, sans que ces derniers n’aient à quitter votre site.\n\nPour cela, elle requiert seulement la transmission des coordonnées ainsi que du CV du candidat. Un message de motivation, à destination du recruteur, peut également être transmis de manière facultative. La candidature est ensuite envoyée au recruteur par email.\n\n**Limite de débit** : 10 appels par minute, par consommateur."}},"/job/v1/export":{"get":{"operationId":"jobsExport","security":[{"api-key":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOfferExport"}}},"description":"Succès"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Offre Emploi"],"summary":"Export des offres d'emploi","description":"Expose la totalité des opportunités d'emploi (offres et entreprises auprès desquelles adresser des candidatures spontanées).\n<br/>Les opportunités sont mises à jour une fois par jour à 3h du matin heure de Paris.<br /><br />**Limite de débit** : 2 appels par minute, par consommateur."}},"/certification/v1":{"get":{"tags":["Certifications"],"operationId":"get_certification_v1","parameters":[{"name":"identifiant.cfd","in":"query","required":false,"schema":{"type":"string","pattern":"^([A-Z0-9]{3}\\d{3}[A-Z0-9]{2}|null)?$","description":"Filtre la liste des certifications par `identifiant.cfd`\n\n- Si la valeur est vide ou `null`, filtre avec `identifiant.cfd = null`\n\n- Si la valeur est absente, aucun filtre n'est appliqué\n\n- Sinon doit respecter le regex `/^[A-Z0-9]{3}\\d{3}[A-Z0-9]{2}$/`","examples":["46X32402","","null"]},"allowEmptyValue":true},{"name":"identifiant.rncp","in":"query","required":false,"schema":{"type":"string","pattern":"^(RNCP\\d{3,5}|null)?$","description":"Filtre la liste des certifications par `identifiant.rncp`\n\n- Si la valeur est vide ou `null`, filtre avec `identifiant.rncp = null`\n\n- Si la valeur est absente, aucun filtre n'est appliqué\n\n- Sinon doit respecter le regex `/^RNCP\\d{3,5}$/`","examples":["RNCP12345","","null"]},"allowEmptyValue":true}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Certification"},"description":"Liste des communes correspondant au code INSEE ou postal recherché"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Liste des certifications professionnelles","description":"Récupère la liste des certifications, filtrée par `identifiant.cfd` et `identifiant.rncp`"}},"/geographie/v1/commune/search":{"get":{"tags":["Géographie"],"operationId":"get_geographie_v1_commune_search","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{5}$","description":"Code INSEE ou postal recherché","examples":["75056","75000"]}}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Commune"},"description":"Liste des communes correspondant au code INSEE ou postal recherché"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Recherche de communes","description":"Recherche de communes par code insee ou postal. La recherche par code INSEE, recherche également parmis les anciennes communes fusionnées (déléguées ou associées) et parmis les arrondissements municipaux. Attention, un meme code postal peut-etre associé à plusieurs communes et une commune peut avoir plusieurs code postaux."}},"/geographie/v1/departement":{"get":{"tags":["Géographie"],"operationId":"get_geographie_v1_departement","responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Departement"},"description":"Liste des départements français"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Récupération des départements","description":"Récupération des départements français, pour des raisons pratiques les collectivités et territoires d'outre-mer sont inclus et assimilés à des départements"}},"/geographie/v1/mission-locale":{"get":{"tags":["Géographie"],"operationId":"get_geographie_v1_mission_locale","parameters":[{"name":"latitude","in":"query","required":false,"schema":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de longitude.","examples":[2.3522]},"allowEmptyValue":true},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de latitude.","examples":[48.8566]},"allowEmptyValue":true},{"name":"radius","in":"query","required":false,"schema":{"default":30,"type":"number","minimum":0,"maximum":200,"description":"Rayon de recherche en km, utile si une latitude et une longitude sont fournies. La valeur doit être comprise entre 0 et 200 et sera par défaut 30.","examples":[30]},"allowEmptyValue":true}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MissionLocale"},"description":"Liste des missions locales"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Récupération des Mission Locales","description":"Récupération de la liste des missions locales"}},"/organisme/v1/recherche":{"get":{"tags":["Organismes"],"operationId":"get_organisme_v1_recherche","parameters":[{"name":"uai","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{7}[A-Z]$"},{"type":"null"}],"description":"UAI de l'organisme à rechercher"}},{"name":"siret","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{14}$"},{"type":"null"}],"description":"SIRET de l'organisme à rechercher"}}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object","properties":{"metadata":{"type":"object","properties":{"uai":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["inconnu","ok"]}},"required":["status"],"additionalProperties":false},{"type":"null"}],"description":"Metadata sur l'UAI de recherche"},"siret":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["inconnu","fermé","ok"]}},"required":["status"],"additionalProperties":false},{"type":"null"}],"description":"Metadata sur le SIRET de recherche"}},"required":["uai","siret"],"additionalProperties":false,"description":"Métadonnées sur les critères de recherche effectuée"},"resultat":{"anyOf":[{"type":"object","properties":{"status":{"type":"object","properties":{"ouvert":{"type":"boolean","description":"Indique si l'organisme est ouvert (état administratif actif)"},"declaration_catalogue":{"type":"boolean","description":"Indique si l'organisme est présent dans le \"Catalogue des formations en apprentissage\""},"validation_uai":{"type":"boolean","description":"Indique si l'UAI de l'organisme est validée par le Référentiel des Organismes de Formation"}},"required":["ouvert","declaration_catalogue","validation_uai"],"additionalProperties":false,"description":"Statut référencementiel de l'organisme"},"correspondances":{"type":"object","properties":{"uai":{"anyOf":[{"type":"object","properties":{"lui_meme":{"type":"boolean","description":"L'UAI de l'organisme correspond exactement à celui recherché"},"son_lieu":{"type":"boolean","description":"L'UAI d'un de ces lieux correspond à celui recherché"}},"required":["lui_meme","son_lieu"],"additionalProperties":false},{"type":"null","description":"Aucune recherche par UAI n'a été effectuée"}],"description":"Informations sur les correspondances UAI"},"siret":{"anyOf":[{"type":"object","properties":{"son_formateur":{"type":"boolean","description":"Le SIRET d'un de ces formateurs correspond à celui recherché"},"son_responsable":{"type":"boolean","description":"Le SIRET du responsable de l'organisme correspond à celui recherché"},"lui_meme":{"type":"boolean","description":"Le SIRET de l'organisme correspond exactement à celui recherché"}},"required":["son_formateur","son_responsable","lui_meme"],"additionalProperties":false},{"type":"null","description":"Aucune recherche par SIRET n'a été effectuée"}],"description":"Informations sur les correspondances SIRET"}},"required":["uai","siret"],"additionalProperties":false,"description":"Informations sur les correspondances avec les critères de recherche"},"organisme":{"type":"object","properties":{"identifiant":{"type":"object","properties":{"uai":{"anyOf":[{"type":"string","pattern":"^\\d{7}[A-Z]$"},{"type":"null"}],"description":"Numéro UAI de l'organisme"},"siret":{"type":"string","pattern":"^\\d{14}$","description":"Numéro SIRET de l'organisme"}},"required":["uai","siret"],"additionalProperties":false,"description":"Identifiant de l'organisme"}},"required":["identifiant"],"additionalProperties":false,"description":"Référence de l'organisme"}},"required":["status","correspondances","organisme"],"additionalProperties":false},{"type":"null"}],"description":"Meilleur résultat correspondant aux critères de recherche. Peut être null si aucun résultat sastisfaisant n'est trouvé."},"candidats":{"type":"array","items":{"type":"object","properties":{"status":{"type":"object","properties":{"ouvert":{"type":"boolean","description":"Indique si l'organisme est ouvert (état administratif actif)"},"declaration_catalogue":{"type":"boolean","description":"Indique si l'organisme est présent dans le \"Catalogue des formations en apprentissage\""},"validation_uai":{"type":"boolean","description":"Indique si l'UAI de l'organisme est validée par le Référentiel des Organismes de Formation"}},"required":["ouvert","declaration_catalogue","validation_uai"],"additionalProperties":false,"description":"Statut référencementiel de l'organisme"},"correspondances":{"type":"object","properties":{"uai":{"anyOf":[{"type":"object","properties":{"lui_meme":{"type":"boolean","description":"L'UAI de l'organisme correspond exactement à celui recherché"},"son_lieu":{"type":"boolean","description":"L'UAI d'un de ces lieux correspond à celui recherché"}},"required":["lui_meme","son_lieu"],"additionalProperties":false},{"type":"null","description":"Aucune recherche par UAI n'a été effectuée"}],"description":"Informations sur les correspondances UAI"},"siret":{"anyOf":[{"type":"object","properties":{"son_formateur":{"type":"boolean","description":"Le SIRET d'un de ces formateurs correspond à celui recherché"},"son_responsable":{"type":"boolean","description":"Le SIRET du responsable de l'organisme correspond à celui recherché"},"lui_meme":{"type":"boolean","description":"Le SIRET de l'organisme correspond exactement à celui recherché"}},"required":["son_formateur","son_responsable","lui_meme"],"additionalProperties":false},{"type":"null","description":"Aucune recherche par SIRET n'a été effectuée"}],"description":"Informations sur les correspondances SIRET"}},"required":["uai","siret"],"additionalProperties":false,"description":"Informations sur les correspondances avec les critères de recherche"},"organisme":{"type":"object","properties":{"identifiant":{"type":"object","properties":{"uai":{"anyOf":[{"type":"string","pattern":"^\\d{7}[A-Z]$"},{"type":"null"}],"description":"Numéro UAI de l'organisme"},"siret":{"type":"string","pattern":"^\\d{14}$","description":"Numéro SIRET de l'organisme"}},"required":["uai","siret"],"additionalProperties":false,"description":"Identifiant de l'organisme"}},"required":["identifiant"],"additionalProperties":false,"description":"Référence de l'organisme"}},"required":["status","correspondances","organisme"],"additionalProperties":false},"description":"Liste des organismes candidats correspondant aux critères de recherche"}},"required":["metadata","resultat","candidats"],"additionalProperties":false}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Recherche d'organismes par UAI et/ou SIRET","description":"Récupère la liste des organismes, filtrée par UAI et/ou SIRET fournis"}},"/organisme/v1/export":{"get":{"tags":["Organismes"],"operationId":"get_organisme_v1_export","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Nombre d'éléments par page","examples":[10]}},{"name":"page_index","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"description":"Numéro de la page actuelle (commence à 0)","examples":[12]},"allowEmptyValue":true}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Organisme"},"description":"Liste des organismes"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Récupération des organismes de formation en apprentissage","description":"Récupérer la liste de tous les organismes issus du référentiel Onisep historisé"}},"/formation/v1/search":{"get":{"tags":["Formation"],"operationId":"get_formation_v1_search","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Nombre d'éléments par page","examples":[10]}},{"name":"page_index","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"description":"Numéro de la page actuelle (commence à 0)","examples":[12]},"allowEmptyValue":true},{"name":"latitude","in":"query","required":false,"schema":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de longitude.","examples":[2.3522]},"allowEmptyValue":true},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude de la coordonnée GPS de la zone de recherche.\n\nLa recherche couvrira l’ensemble de la France si elle n’est pas spécifiée.\n\nCe champ est obligatoire lorsqu’il est utilisé avec le champ de latitude.","examples":[48.8566]},"allowEmptyValue":true},{"name":"radius","in":"query","required":false,"schema":{"default":30,"type":"number","minimum":0,"maximum":200,"description":"Rayon de recherche en km, utile si une latitude et une longitude sont fournies. La valeur doit être comprise entre 0 et 200 et sera par défaut 30.","examples":[30]},"allowEmptyValue":true},{"name":"target_diploma_level","in":"query","required":false,"schema":{"type":"string","enum":["1","2","3","4","5","6","7","8"],"description":"Niveau de diplôme cible à la fin des études.\n\nLors du filtrage par niveau de diplôme, nous retournons les données :\n\n- où le niveau de diplôme cible est inconnu / non précisé / indifférent\n- **et** lorsque le niveau de diplôme cible correspond au niveau de diplôme demandé\n\nEn filtrant sur le « 4 », seules les données relatives à ce niveau de diplôme, ainsi que celles avec des niveaux inconnus ou non précisés, vous seront renvoyées.","examples":["3","4","5","6","7"]}},{"name":"romes","in":"query","required":false,"schema":{"type":"string","description":"Code(s) ROME pour le champ de recherche\n\nLe ROME correspond à la référence opérationnelle pour les métiers et les emplois conçue par France Travail.\n\nListe des codes séparés par des virgules\n\nLes codes doivent respecter les formats ROME","examples":["F1601,F1201,F1106","M1806"]}},{"name":"rncp","in":"query","required":false,"schema":{"type":"string","pattern":"^RNCP\\d{3,5}$","description":"Code RNCP du périmètre de recherche\n\nLe RNCP correspond au Répertoire national des certifications professionnelles de [France Compétences](https://www.francecompetences.fr/reguler-le-marche/certification-professionnelle/)","examples":["RNCP34436","RNCP183"]}},{"name":"include_archived","in":"query","required":false,"schema":{"default":"false","type":"string","enum":["true","false"],"description":"Inclure les formations archivées dans les résultats"}}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Formation"},"description":"Liste des formations correspondant aux critères de recherche"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Recherche de formations en apprentissage","description":"Accéder gratuitement à l’ensemble des formations disponibles en apprentissage"}},"/formation/v1/{id}":{"get":{"tags":["Formation"],"operationId":"get_formation_v1__id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Identifiant unique de la formation - clé ME","examples":["049510P01118838776490001178615112600012-49099#L01"]},"allowEmptyValue":true}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Formation"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[{"api-key":[]}],"summary":"Consulter le détail d'une formation","description":"Accéder au détail d'une formation en apprentissage à partir de son identifiant"}},"/formation/v1/appointment/generate-link":{"post":{"operationId":"generateFormationAppointmentLink","security":[{"api-key":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["parcoursup_id"],"properties":{"parcoursup_id":{"type":"string","description":"Identifiant Parcoursup de la formation"}},"additionalProperties":false,"description":"Identifiant Parcoursup de la formation"},{"type":"object","required":["onisep_id"],"properties":{"onisep_id":{"type":"string","description":"Identifiant ONISEP utilisé avec le mapping de la collection referentielonisep"}},"additionalProperties":false,"description":"Identifiant ONISEP de la formation"},{"type":"object","required":["cle_ministere_educatif"],"properties":{"cle_ministere_educatif":{"type":"string","description":"Identifiant unique de la formation au sein du ministère de l'éducation"}},"additionalProperties":false,"description":"Identifiant unique de la formation au sein du ministère de l'éducation"}]}}},"description":"Identifiant de la formation, permettant de générer un lien de prise de rendez-vous pour la formation. Possibilité de fournir 1 paramètre parmi 3 types possibles : cle_ministere_educatif, parcoursup_id, onisep_id"},"responses":{"200":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["etablissement_formateur_entreprise_raison_sociale","intitule_long","lieu_formation_adresse","code_postal","etablissement_formateur_siret","cfd","localite","cle_ministere_educatif","form_url"],"properties":{"etablissement_formateur_entreprise_raison_sociale":{"type":["string","null"],"description":"Raison social de l'établissement formateur"},"intitule_long":{"type":"string","description":"Intitulé long de la formation"},"lieu_formation_adresse":{"type":"string","description":"Adresse du lieu de formation"},"code_postal":{"type":"string","description":"Code postal du lieu de formation"},"etablissement_formateur_siret":{"type":["string","null"],"pattern":"^\\d{14}$","description":"Le numéro de SIRET de l'établissement","examples":["78424186100011"]},"cfd":{"type":"string","description":"Code formation diplôme de la formation"},"localite":{"type":"string","description":"Localité du lieu de formation"},"cle_ministere_educatif":{"type":"string","description":"Identifiant unique de la formation au sein du ministère de l'éducation"},"form_url":{"type":"string","description":"Lien de prise de rendez-vous La bonne alternance"}},"additionalProperties":false,"description":"Résultat en cas de succès"},{"type":"object","required":["error"],"properties":{"error":{"type":"string","enum":["Appointment request not available"]}},"description":"Résultat en cas d'erreur"}]}}},"description":"Réponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"tags":["Formation"],"summary":"Contacter un centre de formation via un lien dédié","description":"Obtenir un lien d’accès à un formulaire de prise de rendez-vous auprès d’un centre de formation<br /><br />**Limite de débit** : 10 appels par minute, par consommateur."}},"/healthcheck":{"get":{"tags":["Système"],"operationId":"get_healthcheck","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"env":{"type":"string","enum":["local","recette","production","preview","test"]}},"required":["name","version","env"],"additionalProperties":false}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"419":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"security":[]}}}}