Chargement en cours ...
Référence des champs

Cette section présente une liste exhaustive et détaillée des champs autorisés dans les différents endpoints de l'API EasyJobs. Chaque champ est décrit avec son nom exact, son type, le format attendu, son caractère obligatoire, sa longueur, sa description, ses contraintes, ainsi que des exemples précis.

Structure par champ :
  • Nom : Le nom exact utilisé dans les requêtes et les réponses de l’API.
  • Type : Le type de données (ex. : string, integer, boolean, date, etc.).
  • Format attendu (si applicable) : Les règles spécifiques que le contenu doit respecter (ex. : chaîne alphanumérique, date et heure, etc.).
  • Pattern : L’expression régulière utilisée pour valider le format exact du champ. Fournit une définition technique précise des valeurs acceptées.
  • Longueur (si applicable) : Les limites minimales et maximales du contenu (nombre de caractères).
  • Obligatoire : Indique si le champ est requis ou non dans les requêtes (Oui / Non / Conditionnel).
  • Description : Une explication concise de l’objectif ou de la signification du champ.
  • Contraintes : Informations complémentaires utiles ou règles particulières.
  • Exemple : Une ou plusieurs valeurs d’exemple valides pour illustrer le format attendu.
id
  • Type : string
  • Format attendu : Chaîne alphanumérique sans espaces ni symboles.
  • Pattern : ^[a-zA-Z0-9]+$
  • Longueur : 4 à 128 caractères.
  • Obligatoire : Oui
  • Description : Identifiant unique de l’offre.
  • Contraintes :
  • - Champ obligatoire
  • - Doit être unique pour chaque offre.
  • - Uniquement lettres (a–z, A–Z) et chiffres (0–9) sans espaces, symboles ni accents.

                  Exemple :

                  {
                    "id": "4M0123456N43N26"
                  }
                
date
  • Type : string
  • Format attendu : Date et heure au format YYYY-MM-DD HH:mm:ss.
  • Pattern : ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
  • Longueur : 19 caractères.
  • Obligatoire : Oui
  • Description : Date de création de l’offre.
  • Contraintes :
  • - Champ obligatoire
  • - Format strict : YYYY-MM-DD HH:MM:SS.
  • - Ne peut pas être supérieure à l’heure courante avec une tolérance maximale de 2 heures.

                  Exemple :

                  {
                    "date": "2025-04-22 10:09:27"
                  }
                
updated_at
  • Type : string
  • Format attendu : Date et heure de mise à jour au format YYYY-MM-DD HH:mm:ss.
  • Pattern : ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
  • Longueur : 19 caractères.
  • Obligatoire : Non
  • Description : Date et heure de la dernière mise à jour de l’offre.
  • Contraintes :
  • - Doit respecter exactement le format YYYY-MM-DD HH:mm:ss.
  • - Ne doit pas contenir d’autres formats de date.
  • - Ne doit pas contenir de fuseau horaire explicite.

                  Exemple :

                  {
                    "updated_at": "2026-04-21 14:35:00"
                  }
                
valid_through
  • Type : string
  • Format attendu : Date et heure au format YYYY-MM-DD HH:mm:ss.
  • Pattern : ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
  • Longueur : 19 caractères.
  • Obligatoire : Non
  • Description : Date d’expiration de l’offre, permet de préciser une date limite de validité.
  • Contraintes :
  • - Format strict : YYYY-MM-DD HH:MM:SS.
  • - Si présent, doit être postérieur à date.

                  Exemple :

                  {
                    "valid_through": "2025-05-22 10:09:27"
                  }
                
title
  • Type : string
  • Format attendu : Chaîne composée de lettres (y compris accents), chiffres, espaces, apostrophes, tirets et ponctuation autorisée.
  • Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\':’ -]+$ (u)
  • Longueur : 12 à 160 caractères.
  • Obligatoire : Oui
  • Description : Titre de l’offre d’emploi.
  • Contraintes :
  • - Champ obligatoire.
  • - Ne doit pas être vide ou composé uniquement d'espaces.
  • - Autorise lettres (avec accents), chiffres, espaces et les caractères : . / + ( ) & , ' ’ : -.

                  Exemple :

                  {
                    "title": "Développeur Web Fullstack (H/F)"
                  }
                
is_work_study
  • Type : boolean
  • Format attendu : true ou false.
  • Obligatoire : Non
  • Description : Indique si l’offre correspond à un poste en alternance.
  • Contraintes :
  • - Doit être un booléen.
  • - Les valeurs autorisées sont true et false.

                  Exemple :

                  {
                    "is_work_study": true
                  }
                
contract_type
  • Type : string
  • Format attendu : Chaîne composée de lettres (y compris accents), apostrophes, espaces, tirets et slash.
  • Pattern : ^[a-zA-ZÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ'’ \-\/]+$ (u)
  • Longueur : 3 à 64 caractères.
  • Obligatoire : Oui
  • Description : Type de contrat (CDI, CDD, Stage, Alternance, Intérim, Freelance, etc.).
  • Contraintes :
  • - Champ obligatoire.
  • - Autorise lettres (avec accents), apostrophes (' et ), espaces, tirets et slash.

                  Exemple :

                  {
                    "contract_type": "CDI"
                  }
                
contract_label
  • Type : string
  • Format attendu : Libellé du type de contrat.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 3 à 128 caractères.
  • Obligatoire : Non
  • Description : Texte lisible décrivant le type de contrat associé à l’offre.
  • Contraintes :
  • - Ne doit pas être inférieur à 3 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "contract_label": "Contrat à durée indéterminée"
                  }
                
work_hours
  • Type : string
  • Format attendu : Chaîne composée de lettres (toutes langues), chiffres, espaces, tirets, slashs et points.
  • Pattern : ^[\p{L}\d\/\-\s.]+$ (u)
  • Obligatoire : Non
  • Description : Temps de travail.
  • Contraintes :
  • - Autorise lettres (avec accents), chiffres, espaces, tirets, slashs et points.

                  Exemple :

                  {
                    "work_hours": "35h/semaine"
                  }
                
work_hours_label
  • Type : string
  • Format attendu : Libellé de la durée de travail.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 3 à 128 caractères.
  • Obligatoire : Non
  • Description : Texte lisible décrivant la durée ou l’organisation du temps de travail associé à l’offre.
  • Contraintes :
  • - Ne doit pas être inférieur à 3 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "work_hours_label": "35H Horaires normaux"
                  }
                
employment_type
  • Type : string
  • Format attendu : Valeur prédéfinie.
  • Pattern : Pas de pattern (liste prédéfinie).
  • Obligatoire : Non
  • Description : Type d’emploi.
  • Contraintes :
  • - Doit être l’une des valeurs : Temps-plein, Temps-partiel, Temporaire ou Freelance.

                  Exemple :

                  {
                    "employment_type": "Temps-plein"
                  }
                
activity_sector_label
  • Type : string
  • Format attendu : Libellé du secteur d’activité.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Texte lisible décrivant le secteur d’activité associé à l’offre ou à l’entreprise.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "activity_sector_label": "Restauration traditionnelle"
                  }
                
description
  • Type : string
  • Format attendu : Chaîne libre incluant lettres (y compris accents), chiffres, espaces, ponctuation autorisée et balises HTML simples.
  • Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@\[\]€\$#\|=°"%\\]+$ (u)
  • Longueur : 48 à 1024 caractères.
  • Obligatoire : Non
  • Description : Description de l’entreprise.
  • Contraintes :
  • - Longueur comprise entre 48 et 1024 caractères.
  • - Caractères autorisés : . / + ( ) & , ' ’ ! ? : < > * + @ [ ] € $ # | = ° " % \.
  • - Peut contenir des balises HTML simples (ex. : <p>, <ul>, <li>, <br>, etc.).
  • - Ne doit pas contenir de scripts.

                  Exemple :

                  {
                    "description": "<p>Nous recherchons un développeur expérimenté pour rejoindre notre équipe agile...</p>"
                  }
                
position
  • Type : string
  • Format attendu : Chaîne libre incluant lettres (y compris accents), chiffres, espaces, ponctuation autorisée et balises HTML simples.
  • Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@\[\]€\$#\|=°"%\\]+$ (u)
  • Longueur : 64 à 12288 caractères.
  • Obligatoire : Oui
  • Description : Description du poste.
  • Contraintes :
  • - Champ obligatoire.
  • - Longueur comprise entre 64 et 12288 caractères
  • - Caractères autorisés : . / + ( ) & , ' ’ ! ? : < > * + @ [ ] € $ # | = ° " % \ -.
  • - Peut contenir des balises HTML simples (ex. : <p>, <ul>, <li>, <br>, etc.).
  • - Ne doit pas contenir de scripts.

                  Exemple :

                  {
                    "position": "Nous recherchons un(e) développeur(se) web fullstack passionné(e) pour <a href=\"https://www.monsite.fr\">rejoindre</a> notre<br> équipe dynamique. Vous participerez à la conception et au développement d'applications web innovantes pour des clients internationaux."
                  }
                
profile
  • Type : string
  • Format attendu : Chaîne libre incluant lettres (y compris accents), chiffres, espaces, ponctuation autorisée et balises HTML simples.
  • Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@\[\]€\$#\|=°"%\\]+$ (u)
  • Longueur : 64 à 12288 caractères.
  • Obligatoire : Non
  • Description : Profil recherché.
  • Contraintes :
  • - Longueur comprise entre 64 et 12288 caractères
  • - Caractères autorisés : . / + ( ) & , ' ’ ! ? : < > * + @ [ ] € $ # | = ° " % \ -.
  • - Peut contenir des balises HTML simples (ex. : <p>, <ul>, <li>, <br>, etc.).
  • - Ne doit pas contenir de scripts.

                  Exemple :

                  {
                    "profile": "Vous avez une <a href=\"https://www.monsite.fr\">expérience</a> de 3 ans minimum<br> en PHP, JavaScript et frameworks modernes. Vous aimez travailler en équipe et relever de nouveaux défis."
                  }
                
qualification_label
  • Type : string
  • Format attendu : Libellé de qualification.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Texte lisible décrivant le niveau ou le type de qualification associé à l’offre.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "qualification_label": "Employé qualifié"
                  }
                
location
  • Type : string
  • Format attendu : Chaîne Unicode composée de lettres, marques diacritiques, chiffres, apostrophes, espaces, tirets, slash, parenthèses et points.
  • Pattern : ^[\p{L}\p{M}0-9'’ \-\/().]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Oui
  • Description : Lieu du poste ou localité principale.
  • Contraintes :
  • - Champ obligatoire.
  • - Entre 2 et 64 caractères.
  • - Autorise les lettres Unicode, les marques diacritiques, les chiffres, les apostrophes, les espaces, les tirets, les slashs, les parenthèses et les points.

                  Exemple :

                  {
                    "location": "Strasbourg"
                  }
                
postcode
  • Type : string
  • Format attendu : Code postal.
  • Pattern : ^\d{5}$
  • Longueur : 5 caractères.
  • Obligatoire : Non
  • Description : Code postal du poste.
  • Format : 5 chiffres.
  • Contraintes :
  • - Exactement 5 chiffres (0–9).

                  Exemple :

                  {
                    "postcode": "67000"
                  }
                
commune_code
  • Type : string
  • Format attendu : Code commune sur 5 chiffres.
  • Pattern : ^\d{5}$
  • Longueur : 5 caractères.
  • Obligatoire : Non
  • Description : Code de la commune associé au lieu de travail.
  • Contraintes :
  • - Doit contenir exactement 5 chiffres.
  • - Ne doit pas contenir d’espaces.
  • - Les zéros initiaux sont autorisés.

                  Exemple :

                  {
                    "commune_code": "67482"
                  }
                
latitude
  • Type : string
  • Format attendu : Coordonnée décimale signée (latitude GPS).
  • Pattern : ^-?\d{1,2}(?:\.\d{1,8})?$
  • Longueur : 1 à 12 caractères.
  • Obligatoire : Non
  • Description : Latitude du lieu de travail.
  • Contraintes :
  • - Si présent, le champ longitude doit également être présent.
  • - Doit utiliser un point comme séparateur décimal.
  • - Valeur comprise entre -90 et 90.
  • - Ne doit pas contenir d’espaces.

                  Exemple :

                  {
                    "latitude": "48.690347"
                  }
                
longitude
  • Type : string
  • Format attendu : Coordonnée décimale signée (longitude GPS).
  • Pattern : ^-?\d{1,3}(?:\.\d{1,8})?$
  • Longueur : 1 à 13 caractères.
  • Obligatoire : Non
  • Description : Longitude du lieu de travail.
  • Contraintes :
  • - Si présent, le champ latitude doit également être présent.
  • - Doit utiliser un point comme séparateur décimal.
  • - Valeur comprise entre -180 et 180.
  • - Ne doit pas contenir d’espaces.

                  Exemple :

                  {
                    "longitude": "6.178548"
                  }
                
department
  • Type : string
  • Format attendu : Chaîne composée de lettres (toutes langues), chiffres et ponctuation simple autorisée.
  • Pattern : ^[\p{L}\p{M}0-9'’ \-\/().]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Département administratif français associé au lieu du poste, utilisé à titre complémentaire pour enrichir les données de localisation.
  • Contraintes :
  • - Champ optionnel.
  • - Entre 2 et 64 caractères
  • - Autorise lettres (avec accents), chiffres, apostrophes (' et ), espaces, tirets, slash, parenthèses et points.

                  Exemple :

                  {
                    "department": "Bas-Rhin"
                  }
                
region
  • Type : string
  • Format attendu : Chaîne de lettres et accents (toutes langues).
  • Pattern : ^[\p{L}\p{M}'’ \-]+$ (u)
  • Longueur : 5 à 32 caractères.
  • Obligatoire : Non
  • Description : Nom de région, département ou zone administrative.
  • Contraintes :
  • - Champ optionnel.
  • - Entre 5 et 32 caractères.
  • - Autorise lettres, apostrophes (' et ), espaces et tirets uniquement.

                  Exemple :

                  {
                    "region": "Grand-Est"
                  }
                
country
  • Type : string
  • Format attendu : Chaîne de lettres (y compris accents), apostrophes (' et ) et tirets uniquement.
  • Pattern : ^[a-zA-ZÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ'’-]+$ (u)
  • Longueur : 4 à 64 caractères.
  • Obligatoire : Oui
  • Description : Pays.
  • Contraintes :
  • - Champ obligatoire.
  • - Entre 4 et 64 caractères.
  • - Aucun chiffre ni autre symbole.
  • - Autorise uniquement les lettres (avec accents), les apostrophes (' et ) et les tirets.

                  Exemple :

                  {
                    "country": "France"
                  }
                
subsidiary
  • Type : string
  • Format attendu : Chaîne composée de lettres (avec accents), chiffres, espaces et signes de ponctuation autorisés.
  • Pattern : ^[0-9a-zA-Z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ._\/+()&,\'’: -]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Nom de l’entreprise.
  • Contraintes :
  • - Entre 2 et 64 caractères.
  • - Caractères autorisés : . _ / + ( ) & , : ' ’ - et espaces.

                  Exemple :

                  {
                    "subsidiary": "Agence Web"
                  }
                
is_adapted_company
  • Type : boolean
  • Format attendu : true ou false.
  • Obligatoire : Non
  • Description : Indique si l’offre est publiée par une entreprise adaptée.
  • Contraintes :
  • - Doit être un booléen.
  • - Les valeurs autorisées sont true et false.

                  Exemple :

                  {
                    "is_adapted_company": true
                  }
                
is_disability_inclusive_employer
  • Type : boolean
  • Format attendu : true ou false.
  • Obligatoire : Non
  • Description : Indique si l’employeur est identifié comme handi-engagé.
  • Contraintes :
  • - Doit être un booléen.
  • - Les valeurs autorisées sont true et false.

                  Exemple :

                  {
                    "is_disability_inclusive_employer": true
                  }
                
is_accessible_to_disabled_workers
  • Type : boolean
  • Format attendu : true ou false.
  • Obligatoire : Non
  • Description : Indique si l’offre est accessible aux travailleurs handicapés.
  • Contraintes :
  • - Doit être un booléen.
  • - Les valeurs autorisées sont true et false.

                  Exemple :

                  {
                    "is_accessible_to_disabled_workers": true
                  }
                
contact_name
  • Type : string
  • Format attendu : Nom du contact.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Nom de la personne ou du service de contact lié à l’offre.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "contact_name": "Service recrutement"
                  }
                
contact_phone
  • Type : string
  • Format attendu : Numéro de téléphone du contact.
  • Pattern : /^\+?[0-9().\/ \-]{6,32}$/
  • Longueur : 6 à 32 caractères.
  • Obligatoire : Non
  • Description : Numéro de téléphone lié au contact de l’offre.
  • Contraintes :
  • - Ne doit pas être inférieur à 6 caractères.
  • - Ne doit pas dépasser 32 caractères.
  • - Peut contenir des chiffres, espaces, parenthèses, points, barres obliques, tirets et le signe + en début de valeur.

                  Exemple :

                  {
                    "contact_phone": "+33 3 87 00 00 00"
                  }
                
contact_email
  • Type : string
  • Format attendu : Adresse e-mail du contact.
  • Pattern : /^[^\s@]+@[^\s@]+\.[^\s@]+$/
  • Longueur : 6 à 254 caractères.
  • Obligatoire : Non
  • Description : Adresse e-mail liée au contact ou à la candidature.
  • Contraintes :
  • - Ne doit pas être inférieur à 6 caractères.
  • - Ne doit pas dépasser 254 caractères.
  • - Doit être une adresse e-mail valide.

                  Exemple :

                  {
                    "contact_email": "recrutement@example.com"
                  }
                
contact_comment
  • Type : string
  • Format attendu : Commentaire libre du contact.
  • Pattern : /^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@[\]€$#|=°\"%\\;_-]+$/u
  • Longueur : 2 à 255 caractères.
  • Obligatoire : Non
  • Description : Texte complémentaire lié au contact ou aux modalités de candidature.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 255 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "contact_comment": "Merci d’envoyer votre candidature complète par e-mail."
                  }
                
company_url
  • Type : string
  • Format attendu : URL complète de l’entreprise recrutante.
  • Pattern : /^https:\/\/[^\s]+$/
  • Longueur : 10 à 2048 caractères.
  • Obligatoire : Non
  • Description : URL du site web de l’entreprise ou de l’organisation qui recrute.
  • Contraintes :
  • - Ne doit pas être inférieure à 10 caractères.
  • - Ne doit pas dépasser 2048 caractères.
  • - Doit commencer par https://.
  • - Ne doit pas contenir d’espaces.
  • - Pour l’URL de candidature, utilisez application_url.

                  Exemple :

                  {
                    "company_url": "https://www.entreprise.com"
                  }
                
application_url
  • Type : string
  • Format attendu : URL complète de candidature.
  • Pattern : /^https:\/\/[^\s]+$/
  • Longueur : 10 à 2048 caractères.
  • Obligatoire : Non
  • Description : URL vers la page ou le formulaire permettant au candidat de postuler.
  • Contraintes :
  • - Ne doit pas être inférieure à 10 caractères.
  • - Ne doit pas dépasser 2048 caractères.
  • - Doit être une URL complète commençant par https://.
  • - Ne doit pas contenir d’espaces.

                  Exemple :

                  {
                    "application_url": "https://entreprise.com/candidature/123"
                  }
                
source_offer_url
  • Type : string
  • Format attendu : URL complète de l’offre d’origine.
  • Pattern : /^https:\/\/[^\s]+$/
  • Longueur : 10 à 2048 caractères.
  • Obligatoire : Non
  • Description : URL source de l’offre d’emploi, telle que fournie par la plateforme ou le partenaire d’origine.
  • Contraintes :
  • - Ne doit pas être inférieure à 10 caractères.
  • - Ne doit pas dépasser 2048 caractères.
  • - Doit être une URL complète commençant par https://.
  • - Ne doit pas contenir d’espaces.

                  Exemple :

                  {
                    "source_offer_url": "https://candidat.francetravail.fr/offres/recherche/detail/123456"
                  }
                
company_logo_url
  • Type : string
  • Format attendu : URL valide.
  • Pattern : /^https:\/\/[^\s]+$/
  • Obligatoire : Non
  • Description : URL du logo de l’entreprise.
  • Contraintes :
  • - Doit commencer par https://.
  • - Domaine valide (au moins un point, extension 2–63 lettres).
  • - Il est recommandé que cette URL pointe directement vers le logo de l’entreprise.

                  Exemple :

                  {
                    "company_logo_url": "https://www.exemple.com/logo.png"
                  }
                
partners
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les partenaires associés à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un nom, une URL d’offre et une URL de logo.
  • Contraintes :
  • - partners doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Les champs name, offer_url et logo_url sont optionnels.
  • - Au moins un des trois champs doit être renseigné.
  • - Si offer_url ou logo_url sont présents, ils doivent commencer par https://.
Sous-champs :
  • name
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • offer_url
    Type : string
    Pattern : ^https:\/\/[^\s]+$
    Longueur : 10 à 2048 caractères
  • logo_url
    Type : string
    Pattern : ^https:\/\/[^\s]+$
    Longueur : 10 à 2048 caractères

                  Structure d’un item :

                  {
                    "name": "France Travail",
                    "offer_url": "https://candidat.francetravail.fr/offres/recherche/detail/123456",
                    "logo_url": "https://exemple.com/logo.png"
                  }
                

                  Exemple :

                  {
                    "partners": [
                      {
                        "name": "France Travail",
                        "offer_url": "https://candidat.francetravail.fr/offres/recherche/detail/123456",
                        "logo_url": "https://exemple.com/logo-france-travail.png"
                      },
                      {
                        "name": "Partenaire RH",
                        "offer_url": "https://partenaire-rh.com/offre/789",
                        "logo_url": "https://partenaire-rh.com/logo.png"
                      }
                    ]
                  }
                
salary
  • Type : string
  • Format attendu : Montant entier ou décimal (avec 1 à 2 décimales), suivi de ou $, d’un slash et d’une période autorisée : heure, jour, mois ou an.
  • Pattern : ^[0-9]+(\.[0-9]{1,2})?[€$]\/(heure|jour|mois|an)$ (u)
  • Obligatoire : Conditionnel. L’un des modes de spécification du salaire doit être utilisé : soit salary, soit le couple salary_min / salary_max.
  • Description : Salaire global.
  • Contraintes :
  • - Format strict : [nombre][€ ou $]/[heure|jour|mois|an].
  • - Les décimales valides utilisent le point et non la virgule (ex. : 11.50€/heure).
  • - Éviter les textes libres (ex. : selon profil).
  • - Ce champ est facultatif si un bloc Occupation complet est fourni.
  • - Si ce champ est renseigné, salary_min et salary_max ne doivent pas être envoyés.

                  Exemple :

                  {
                    "salary": "3400€/mois"
                  }
                
salary_min
  • Type : string
  • Format attendu : Montant entier ou décimal (avec 1 à 2 décimales), suivi de ou $, d’un slash et d’une période autorisée : heure, jour, mois ou an.
  • Pattern : ^[0-9]+(\.[0-9]{1,2})?[€$]\/(heure|jour|mois|an)$ (u)
  • Obligatoire : Conditionnel. Requis si salary n’est pas spécifié.
  • Description : Permet de préciser une fourchette salariale cohérente (salaire minimum - salaire maximum).
  • Contraintes :
  • - Requis si salary n’est pas renseigné et qu’aucun bloc Occupation complet n’est fourni.
  • - Doit être envoyé avec salary_max.
  • - Doit être strictement inférieur à salary_max.
  • - Ne peut pas être égal à salary_max.
  • - Doit avoir la même devise et la même fréquence que salary_max.
  • - Ne peut pas être combiné avec salary.
  • - Les décimales valides utilisent le point et non la virgule.

                  Exemple :

                  {
                    "salary_min": "42000€/an",
                    "salary_max": "44300€/an"
                  }
                
salary_max
  • Type : string
  • Format attendu : Montant entier ou décimal (avec 1 à 2 décimales), suivi de ou $, d’un slash et d’une période autorisée : heure, jour, mois ou an.
  • Pattern : ^[0-9]+(\.[0-9]{1,2})?[€$]\/(heure|jour|mois|an)$ (u)
  • Obligatoire : Conditionnel. Requis si salary n’est pas spécifié.
  • Description : Permet de préciser une fourchette salariale cohérente (salaire minimum - salaire maximum).
  • Contraintes :
  • - Requis si salary n’est pas renseigné et qu’aucun bloc Occupation complet n’est fourni.
  • - Doit être envoyé avec salary_min.
  • - Doit être strictement supérieur à salary_min.
  • - Ne peut pas être égal à salary_min.
  • - Doit avoir la même devise et la même fréquence que salary_min.
  • - Ne peut pas être combiné avec salary.
  • - Les décimales valides utilisent le point et non la virgule.

                  Exemple :

                  {
                    "salary_min": "42000€/an",
                    "salary_max": "44300€/an"
                  }
                
salary_comment
  • Type : string
  • Format attendu : Commentaire libre sur le salaire ou les avantages.
  • Pattern : /^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@[\]€$#|=°\"%\\;_-]+$/u
  • Longueur : 2 à 255 caractères.
  • Obligatoire : Non
  • Description : Texte complémentaire lié au salaire, aux primes ou aux avantages.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 255 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "salary_comment": "Prime annuelle et participation aux frais de transport"
                  }
                
salary_benefit_label_1
  • Type : string
  • Format attendu : Libellé d’un avantage lié à la rémunération.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Premier libellé d’avantage lié à la rémunération.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "salary_benefit_label_1": "Primes"
                  }
                
salary_benefit_label_2
  • Type : string
  • Format attendu : Deuxième libellé d’un avantage lié à la rémunération.
  • Pattern : /^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$/u
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Deuxième libellé d’avantage lié à la rémunération.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "salary_benefit_label_2": "Complémentaire santé"
                  }
                
salary_complements
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les compléments de salaire associés à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un code et un libellé de complément de salaire.
  • Contraintes :
  • - salary_complements doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Les champs code et label sont optionnels.
  • - Au moins un des deux champs doit être renseigné.
Sous-champs :
  • code
    Type : string
    Pattern : ^[A-Za-z0-9._-]+$
    Longueur : 1 à 64 caractères
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères

                  Structure d’un item :

                  {
                    "code": "PRIME",
                    "label": "Prime"
                  }
                

                  Exemple :

                  {
                    "salary_complements": [
                      {
                        "code": "PRIME",
                        "label": "Prime de rendement"
                      },
                      {
                        "code": "TR",
                        "label": "Titres-restaurant"
                      }
                    ]
                  }
                
occupation_name
  • Type : string
  • Format attendu : Chaîne composée de lettres (toutes langues), chiffres et ponctuation simple autorisée.
  • Pattern : ^[\p{L}\p{M}0-9'’ \-\/().]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Nom de l’occupation utilisée dans le bloc Occupation, afin de décrire plus précisément le métier ou la fonction associée à l’estimation salariale.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Autorise lettres (avec accents), chiffres, apostrophes (' et ), espaces, tirets, slash, parenthèses et points.

                  Exemple :

                  {
                    "occupation_name": "Développeur web"
                  }
                
occupation_location_name
  • Type : string
  • Format attendu : Chaîne composée de lettres (toutes langues), chiffres et ponctuation simple autorisée.
  • Pattern : ^[\p{L}\p{M}0-9'’ \-\/().]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Nom de la zone géographique utilisée dans le bloc Occupation, généralement un département, une région ou une zone administrative pertinente pour l’estimation salariale.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Autorise lettres (avec accents), chiffres, apostrophes (' et ), espaces, tirets, slash, parenthèses et points.

                  Exemple :

                  {
                    "occupation_location_name": "Aix-en-Provence"
                  }
                
salary_estimated_currency
  • Type : string
  • Format attendu : Valeur prédéfinie.
  • Pattern : Pas de pattern (liste prédéfinie).
  • Obligatoire : Non
  • Description : Devise utilisée pour les valeurs du salaire estimé dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être l’une des valeurs suivantes : EUR, USD.

                  Exemple :

                  {
                    "salary_estimated_currency": "EUR"
                  }
                
salary_estimated_duration
  • Type : string
  • Format attendu : Valeur prédéfinie au format ISO 8601 simplifié.
  • Pattern : Pas de pattern (liste prédéfinie).
  • Obligatoire : Non
  • Description : Durée de référence utilisée pour l’estimation salariale dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être l’une des valeurs suivantes :
    1. - PT1H : par heure
    2. - P1D : par jour
    3. - P1M : par mois
    4. - P1Y : par an

                  Exemple :

                  {
                    "salary_estimated_duration": "P1Y"
                  }
                
salary_estimated_median
  • Type : number
  • Format attendu : Nombre positif avec jusqu’à 2 décimales.
  • Pattern : ^\d+(?:\.\d{1,2})?$
  • Obligatoire : Non
  • Description : Valeur médiane estimée du salaire dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être un nombre valide avec jusqu’à 2 décimales.

                  Exemple :

                  {
                    "salary_estimated_median": 33000
                  }
                
salary_estimated_percentile10
  • Type : number
  • Format attendu : Nombre positif avec jusqu’à 2 décimales.
  • Pattern : ^\d+(?:\.\d{1,2})?$
  • Obligatoire : Non
  • Description : Valeur estimée correspondant au 10e percentile du salaire dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être un nombre valide avec jusqu’à 2 décimales.
  • - Ne peut pas être supérieur à salary_estimated_percentile25.

                  Exemple :

                  {
                    "salary_estimated_percentile10": 28000
                  }
                
salary_estimated_percentile25
  • Type : number
  • Format attendu : Nombre positif avec jusqu’à 2 décimales.
  • Pattern : ^\d+(?:\.\d{1,2})?$
  • Obligatoire : Non
  • Description : Valeur estimée correspondant au 25e percentile du salaire dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être un nombre valide avec jusqu’à 2 décimales.
  • - Ne peut pas être inférieur à salary_estimated_percentile10.
  • - Ne peut pas être supérieur à salary_estimated_median.

                  Exemple :

                  {
                    "salary_estimated_percentile25": 30000
                  }
                
salary_estimated_percentile75
  • Type : number
  • Format attendu : Nombre positif avec jusqu’à 2 décimales.
  • Pattern : ^\d+(?:\.\d{1,2})?$
  • Obligatoire : Non
  • Description : Valeur estimée correspondant au 75e percentile du salaire dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être un nombre valide avec jusqu’à 2 décimales.
  • - Ne peut pas être inférieur à salary_estimated_median.
  • - Ne peut pas être supérieur à salary_estimated_percentile90.

                  Exemple :

                  {
                    "salary_estimated_percentile75": 36000
                  }
                
salary_estimated_percentile90
  • Type : number
  • Format attendu : Nombre positif avec jusqu’à 2 décimales.
  • Pattern : ^\d+(?:\.\d{1,2})?$
  • Obligatoire : Non
  • Description : Valeur estimée correspondant au 90e percentile du salaire dans le bloc Occupation.
  • Contraintes :
  • - Champ optionnel.
  • - Si un champ du bloc Occupation est envoyé, ce champ devient obligatoire.
  • - Doit être un nombre valide avec jusqu’à 2 décimales.
  • - Ne peut pas être inférieur à salary_estimated_percentile75.

                  Exemple :

                  {
                    "salary_estimated_percentile90": 38000
                  }
                
establishment_workforce_range
  • Type : string
  • Format attendu : Tranche d’effectif de l’établissement.
  • Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Texte descriptif de la tranche d’effectif de l’établissement.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 64 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces et ponctuation autorisée.

                  Exemple :

                  {
                    "establishment_workforce_range": "9 à 12 salariés"
                  }
                
naf_code
  • Type : string
  • Format attendu : Code NAF / APE.
  • Pattern : ^\d{2}\.?\d{2}[A-Z]$
  • Longueur : 5 à 6 caractères.
  • Obligatoire : Non
  • Description : Code NAF / APE associé à l’activité de l’entreprise.
  • Contraintes :
  • - Doit contenir 4 chiffres suivis d’une lettre majuscule.
  • - Le point après les 2 premiers chiffres est autorisé.
  • - Ne doit pas contenir d’espaces.

                  Exemple :

                  {
                    "naf_code": "1413Z"
                  }
                
rome
  • Type : string
  • Format attendu : Lettre (majuscule ou minuscule) et chiffres.
  • Pattern : ^[A-Za-z][0-9]+$
  • Obligatoire : Non
  • Description : Code ROME.
  • Contraintes :
  • - Doit commencer par une lettre, suivi d’un ou plusieurs chiffres.

                  Exemple :

                  {
                    "rome": "M1805"
                  }
                
rome_label
  • Type : string
  • Format attendu : Libellé du code ROME associé à l’offre.
  • Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+]+$
  • Longueur : 2 à 128 caractères.
  • Obligatoire : Non
  • Description : Libellé du métier ROME associé à l’offre d’emploi.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 128 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces, apostrophes, tirets, barres obliques, parenthèses, points, virgules et le caractère &.

                  Exemple :

                  {
                    "rome_label": "Service en restauration"
                  }
                
rome_appellation_label
  • Type : string
  • Format attendu : Appellation métier précise associée à l’offre.
  • Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+]+$
  • Longueur : 2 à 255 caractères.
  • Obligatoire : Non
  • Description : Appellation métier précise associée au métier ROME de l’offre d’emploi.
  • Contraintes :
  • - Ne doit pas être inférieur à 2 caractères.
  • - Ne doit pas dépasser 255 caractères.
  • - Peut contenir des lettres accentuées, chiffres, espaces, apostrophes, tirets, barres obliques, parenthèses, points, virgules et le caractère &.

                  Exemple :

                  {
                    "rome_appellation_label": "Serveur / Serveuse de restaurant"
                  }
                
available
  • Type : integer
  • Format attendu : Nombre entier.
  • Pattern : ^\d{1,3}$
  • Longueur : 1 à 3 caractères.
  • Obligatoire : Non
  • Description : Nombre de postes à pourvoir.
  • Contraintes :
  • - Entier de 1 à 3 chiffres (0–999).

                  Exemple :

                  {
                    "available": 1
                  }
                
remote_work_mode
  • Type : string
  • Format attendu : Valeur prédéfinie.
  • Pattern : Pas de pattern (liste prédéfinie).
  • Obligatoire : Non
  • Description : Indique le mode de travail du poste : sur site, hybride ou entièrement à distance.
  • Contraintes :
  • - Champ optionnel.
  • - Doit être l’une des valeurs suivantes : ONSITE, HYBRID, REMOTE.
  • - Si la valeur est REMOTE, le champ applicant_location_requirements devient obligatoire.

                  Exemple :

                  {
                    "remote_work_mode": "REMOTE"
                  }
                
applicant_location_requirements
  • Type : string
  • Format attendu : Chaîne composée de lettres, chiffres et ponctuation simple autorisée.
  • Pattern : ^[\p{L}\p{M}0-9'’ \-\/().,]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Zone géographique depuis laquelle les candidats peuvent postuler pour un poste en télétravail complet.
  • Contraintes :
  • - Champ optionnel.
  • - Devient obligatoire si remote_work_mode vaut REMOTE.
  • - Autorise lettres (avec accents), chiffres, apostrophes, espaces, tirets, slash, parenthèses, points et virgules.

                  Exemple :

                  {
                    "applicant_location_requirements": "France"
                  }
                
experience
  • Type : string
  • Format attendu : Valeur prédéfinie.
  • Pattern : Pas de pattern (liste prédéfinie).
  • Obligatoire : Non
  • Description : Niveau d’expérience.
  • Contraintes :
  • - Doit valoir exactement l’une des chaînes : Débutant accepté, Expérience exigée ou Expérience souhaitée.

                  Exemple :

                  {
                    "experience": "Expérience souhaitée"
                  }
                
formations
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les formations associées à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un code de formation, un domaine, un niveau, un commentaire et un code d’exigence.
  • Contraintes :
  • - formations doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Les champs code, domain_label, level_label, comment et requirement_code sont optionnels.
  • - Si requirement_code est présent, les valeurs autorisées sont E (Exigé) ou S (Souhaité).
  • - Au moins un des champs de l’objet doit être renseigné.
Sous-champs :
  • code
    Type : string
    Pattern : ^[A-Za-z0-9._-]+$
    Longueur : 1 à 64 caractères
  • domain_label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • level_label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • comment
    Type : string
    Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@[\]€$#|=°\"%\\\\;_-]+$
    Longueur : 2 à 255 caractères
  • requirement_code
    Type : string
    Pattern : ^[ES]$
    Longueur : 1 caractère
    Valeurs autorisées : E (Exigé) ou S (Souhaité)

                  Structure d’un item :

                  {
                    "code": "15084",
                    "domain_label": "Informatique",
                    "level_label": "Bac+2",
                    "comment": "Souhaité",
                    "requirement_code": "S"
                  }
                

                  Exemple :

                  {
                    "formations": [
                      {
                        "code": "15084",
                        "domain_label": "Informatique",
                        "level_label": "Bac+2",
                        "comment": "Souhaité",
                        "requirement_code": "S"
                      },
                      {
                        "code": "44567",
                        "domain_label": "Systèmes d'information",
                        "level_label": "Bac+3",
                        "comment": "Exigé",
                        "requirement_code": "E"
                      }
                    ]
                  }
                
skills
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les compétences associées à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un code, un libellé et un code d’exigence.
  • Contraintes :
  • - skills doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Le champ label est obligatoire si un objet de compétence est envoyé.
  • - code est optionnel.
  • - requirement_code est optionnel.
  • - Si requirement_code est présent, les valeurs autorisées sont E (Exigé) ou S (Souhaité).
Sous-champs :
  • code
    Type : string
    Pattern : ^[A-Za-z0-9._-]+$
    Longueur : 1 à 64 caractères
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • requirement_code
    Type : string
    Pattern : ^[ES]$
    Longueur : 1 caractère
    Valeurs autorisées : E (Exigé) ou S (Souhaité)

                  Structure d’un item :

                  {
                    "code": "123456",
                    "label": "Utiliser des outils bureautiques",
                    "requirement_code": "E"
                  }
                

                  Exemple :

                  {
                    "skills": [
                      {
                        "code": "123456",
                        "label": "Utiliser des outils bureautiques",
                        "requirement_code": "E"
                      },
                      {
                        "code": "654321",
                        "label": "Accueillir une clientèle",
                        "requirement_code": "S"
                      }
                    ]
                  }
                
professional_qualities
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les qualités professionnelles associées à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un libellé et une description.
  • Contraintes :
  • - professional_qualities doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Les champs label et description sont optionnels.
  • - Au moins un des deux champs doit être renseigné.
Sous-champs :
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • description
    Type : string
    Pattern : ^[0-9A-Za-z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ.\/+()&,\'!? :’<>*+@[\]€$#|=°\"%\\\\;_-]+$
    Longueur : 2 à 255 caractères

                  Structure d’un item :

                  {
                    "label": "Travail en équipe",
                    "description": "Capacité à collaborer efficacement avec différents interlocuteurs."
                  }
                

                  Exemple :

                  {
                    "professional_qualities": [
                      {
                        "label": "Travail en équipe",
                        "description": "Capacité à collaborer efficacement avec différents interlocuteurs."
                      },
                      {
                        "label": "Autonomie",
                        "description": "Capacité à organiser son travail et à prendre des initiatives."
                      }
                    ]
                  }
                
languages
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les langues associées à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un libellé de langue et un code d’exigence.
  • Contraintes :
  • - languages doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Le champ label est obligatoire si un objet de langue est envoyé.
  • - Si requirement_code est présent, les valeurs autorisées sont E (Exigé) ou S (Souhaité).
Sous-champs :
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • requirement_code
    Type : string
    Pattern : ^[ES]$
    Longueur : 1 caractère
    Valeurs autorisées : E (Exigé) ou S (Souhaité)

                  Structure d’un item :

                  {
                    "label": "Anglais",
                    "requirement_code": "E"
                  }
                

                  Exemple :

                  {
                    "languages": [
                      {
                        "label": "Anglais",
                        "requirement_code": "E"
                      },
                      {
                        "label": "Allemand",
                        "requirement_code": "S"
                      }
                    ]
                  }
                
permits
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les permis associés à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet peut contenir un libellé de permis et un code d’exigence.
  • Contraintes :
  • - permits doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Le champ label est obligatoire si un objet de permis est envoyé.
  • - Si requirement_code est présent, les valeurs autorisées sont E (Exigé) ou S (Souhaité).
Sous-champs :
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères
  • requirement_code
    Type : string
    Pattern : ^[ES]$
    Longueur : 1 caractère
    Valeurs autorisées : E (Exigé) ou S (Souhaité)

                  Structure d’un item :

                  {
                    "label": "Permis B",
                    "requirement_code": "E"
                  }
                

                  Exemple :

                  {
                    "permits": [
                      {
                        "label": "Permis B",
                        "requirement_code": "E"
                      },
                      {
                        "label": "CACES 1",
                        "requirement_code": "S"
                      }
                    ]
                  }
                
work_context_conditions
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les conditions d’exercice associées à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet contient un libellé décrivant une condition d’exercice du poste.
  • Contraintes :
  • - work_context_conditions doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Le champ label est obligatoire.
Sous-champs :
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères

                  Structure d’un item :

                  {
                    "label": "Travail en horaires décalés"
                  }
                

                  Exemple :

                  {
                    "work_context_conditions": [
                      {
                        "label": "Travail en horaires décalés"
                      },
                      {
                        "label": "Déplacements fréquents"
                      }
                    ]
                  }
                
work_context_schedules
  • Type : array<object>
  • Format attendu : Tableau d’objets représentant les horaires associés à l’offre.
  • Pattern : N/A (champ racine)
  • Longueur : N/A (champ racine)
  • Obligatoire : Non
  • Description : Chaque objet contient un libellé décrivant un horaire ou une modalité horaire du poste.
  • Contraintes :
  • - work_context_schedules doit être un tableau JSON valide.
  • - Chaque élément doit être un objet JSON.
  • - Le champ label est obligatoire.
Sous-champs :
  • label
    Type : string
    Pattern : ^[\p{L}\p{M}0-9&’' \-\/().,+:;_]+$
    Longueur : 2 à 128 caractères

                  Structure d’un item :

                  {
                    "label": "Horaires variables"
                  }
                

                  Exemple :

                  {
                    "work_context_schedules": [
                      {
                        "label": "Horaires variables"
                      },
                      {
                        "label": "Travail le week-end"
                      }
                    ]
                  }
                
posted_via
  • Type : string
  • Format attendu : Chaîne composée de lettres (avec accents), chiffres, espaces et signes de ponctuation autorisés.
  • Pattern : ^[0-9a-zA-Z-ÁÉÍÓÚÜÑáéíóúüñÇŒæœßàâäæçèéêëìîïðñòôöùûüýÿÆŒ._\/+()&,\'’: -]+$ (u)
  • Longueur : 2 à 64 caractères.
  • Obligatoire : Non
  • Description : Source ou plateforme de publication.
  • Contraintes :
  • - Entre 2 et 64 caractères.
  • - Caractères autorisés : . _ / + ( ) & , : ' ’ - et espaces.

                  Exemple :

                  {
                    "posted_via": "MyCompany"
                  }
                
Tableau des champs

Chaque champ pris en charge par l’API EasyJobs est soumis à une série de contraintes destinées à garantir la validité, la cohérence et la sécurité des données. Le tableau ci-dessous fournit un récapitulatif complet de ces contraintes pour tous les champs acceptés lors de la création ou de la modification d’une offre d’emploi via les endpoints de type création (POST) ou modification (PUT).

Remarque : dans les requêtes de type PUT, seuls les champs id et date sont obligatoires. Tous les autres champs peuvent être modifiés, ignorés ou vidés, à condition de respecter les mêmes contraintes de type, de format et de longueur que lors de la création. Pour plus de détails, consultez la section Cas des requêtes PUT.

Champ Type Obligatoire Description
id string Oui (POST et PUT) 4 à 128 caractères | Identifiant unique de l’offre | Uniquement lettres (a–z, A–Z) et chiffres (0–9), sans espaces, symboles ni accents.
date string Oui (POST et PUT) 19 caractères | Date de création de l’offre | Format strict : YYYY-MM-DD HH:MM:SS. Ne peut pas dépasser l’heure courante de plus de 2 heures.
updated_at string Non 19 caractères | Date et heure de mise à jour | Date et heure de la dernière mise à jour de l’offre, au format YYYY-MM-DD HH:mm:ss.
valid_through string Non 19 caractères | Date d’expiration de l’offre | Format strict : YYYY-MM-DD HH:MM:SS. Si présent, doit être postérieur à date.
title string Oui (POST uniquement) 12 à 160 caractères | Titre de l’offre d’emploi | Lettres (avec accents), chiffres, espaces et ponctuation autorisée : . / + ( ) & , ' ’ : -
is_work_study boolean Non true ou false | Indique si l’offre correspond à un poste en alternance.
contract_type string Oui (POST uniquement) 3 à 64 caractères | Type de contrat | Autorise les lettres (avec accents), les apostrophes (' et ), les espaces, les tirets et les slashs.
contract_label string Non 3 à 128 caractères | Libellé du type de contrat | Texte lisible décrivant le type de contrat associé à l’offre.
work_hours string Non Temps de travail | Autorise lettres Unicode, chiffres, espaces, tirets, slashs et points.
work_hours_label string Non 3 à 128 caractères | Libellé de la durée de travail | Texte lisible décrivant la durée ou l’organisation du temps de travail associé à l’offre.
employment_type string Non Type d’emploi | Uniquement : Temps-plein, Temps-partiel, Temporaire ou Freelance.
activity_sector_label string Non 2 à 128 caractères | Libellé du secteur d’activité | Texte lisible décrivant le secteur d’activité associé à l’offre ou à l’entreprise.
description string Non 48 à 1024 caractères | Description de l’entreprise | Texte libre avec ponctuation autorisée et balises HTML simples. Autorise aussi et \.
position string Oui (POST uniquement) 64 à 12288 caractères | Description du poste | Texte libre avec ponctuation autorisée et balises HTML simples. Autorise notamment . / + ( ) & , ' ’ ! ? : < > * + @ [ ] € $ # | = ° " % \ -.
profile string Non 64 à 12288 caractères | Profil recherché | Texte libre avec ponctuation autorisée et balises HTML simples. Autorise notamment . / + ( ) & , ' ’ ! ? : < > * + @ [ ] € $ # | = ° " % \ -.
qualification_label string Non 2 à 128 caractères | Libellé de qualification | Texte lisible décrivant le niveau ou le type de qualification associé à l’offre.
location string Oui (POST uniquement) 2 à 64 caractères | Localisation principale du poste | Autorise les lettres Unicode, les marques diacritiques, les chiffres, les apostrophes (' et ), les espaces, les tirets, les slashs, les parenthèses et les points.
postcode string Non 5 caractères | Code postal | Format strict : 5 chiffres uniquement.
commune_code string Non Code commune sur 5 chiffres | Doit contenir exactement 5 chiffres et correspondre au code de la commune du lieu de travail.
latitude string Non 1 à 12 caractères | Coordonnée décimale signée (latitude GPS) | Doit utiliser un point comme séparateur décimal, être comprise entre -90 et 90, ne pas contenir d’espaces, et être envoyée avec longitude.
longitude string Non 1 à 13 caractères | Coordonnée décimale signée (longitude GPS) | Doit utiliser un point comme séparateur décimal, être comprise entre -180 et 180, ne pas contenir d’espaces, et être envoyée avec latitude.
department string Non 2 à 64 caractères | Département administratif français associé au lieu du poste | Autorise les lettres Unicode, les marques diacritiques, les chiffres, les apostrophes (' et ), les espaces, les tirets, les slashs, les parenthèses et les points.
region string Non 5 à 32 caractères | Région administrative associée au poste | Autorise les lettres Unicode, les marques diacritiques, les apostrophes (' et ), les espaces et les tirets.
country string Oui (POST uniquement) 4 à 64 caractères | Pays | Autorise uniquement les lettres (avec accents), les apostrophes (' et ) et les tirets.
subsidiary string Non 2 à 64 caractères | Nom de l’entreprise | Lettres (avec accents), chiffres, espaces et ponctuation autorisée : . _ / + ( ) & , : ' ’ -.
is_adapted_company boolean Non true ou false | Indique si l’offre est publiée par une entreprise adaptée.
is_disability_inclusive_employer boolean Non true ou false | Indique si l’employeur est identifié comme handi-engagé.
is_accessible_to_disabled_workers boolean Non true ou false | Indique si l’offre est accessible aux travailleurs handicapés.
contact_name string Non 2 à 128 caractères | Nom du contact | Nom de la personne ou du service de contact lié à l’offre.
contact_phone string Non 6 à 32 caractères | Numéro de téléphone du contact | Numéro de téléphone lié au contact de l’offre.
contact_email string Non 6 à 254 caractères | Adresse e-mail du contact | Adresse e-mail liée au contact ou à la candidature.
contact_comment string Non 2 à 255 caractères | Commentaire libre du contact | Texte complémentaire lié au contact ou aux modalités de candidature.
company_url string Non 10 à 2048 caractères | URL de l’entreprise recrutante | URL complète du site web de l’entreprise ou de l’organisation qui recrute.
application_url string Non 10 à 2048 caractères | URL de candidature | URL complète vers la page ou le formulaire de candidature.
source_offer_url string Non 10 à 2048 caractères | URL de l’offre d’origine | URL source de l’offre d’emploi, telle que fournie par la plateforme ou le partenaire d’origine.
company_logo_url string Non 10 à 2048 caractères | URL du logo de l’entreprise | Il est recommandé qu’elle pointe directement vers le logo de l’entreprise.
partners array<object> Non Liste de partenaires | Tableau d’objets {name, offer_url, logo_url} représentant les partenaires associés à l’offre.
salary string Conditionnel Salaire global | Montant entier ou décimal (point uniquement), suivi de ou $, puis de heure, jour, mois ou an. Ne peut pas être combiné avec salary_min ni salary_max. Non requis si le bloc Occupation complet est fourni.
salary_min string Conditionnel Salaire minimum | Montant entier ou décimal (point uniquement), suivi de ou $, puis de heure, jour, mois ou an. Requis si salary n’est pas renseigné et qu’aucun bloc Occupation complet n’est fourni. Doit être envoyé avec salary_max, avec la même devise et la même fréquence.
salary_max string Conditionnel Salaire maximum | Montant entier ou décimal (point uniquement), suivi de ou $, puis de heure, jour, mois ou an. Requis si salary n’est pas renseigné et qu’aucun bloc Occupation complet n’est fourni. Doit être envoyé avec salary_min, avec la même devise et la même fréquence.
salary_comment string Non 2 à 255 caractères | Commentaire libre sur le salaire ou les avantages | Texte libre complémentaire lié au salaire, aux primes ou aux avantages.
salary_benefit_label_1 string Non 2 à 128 caractères | Libellé d’un avantage lié à la rémunération | Exemple : Primes, Complémentaire santé, Titres restaurant / Prime de panier.
salary_benefit_label_2 string Non 2 à 128 caractères | Deuxième libellé d’avantage lié à la rémunération | Exemple : Primes, Complémentaire santé, Titres restaurant / Prime de panier.
salary_complements array<object> Non Liste de compléments de salaire | Tableau d’objets {code, label} représentant les compléments de salaire associés à l’offre.
occupation_name string Non 2 à 64 caractères | Nom de l’occupation utilisée dans le bloc Occupation | Lettres Unicode, marques diacritiques, chiffres, apostrophes, espaces, tirets, slash, parenthèses et points. Obligatoire si le bloc Occupation est utilisé.
occupation_location_name string Non 2 à 64 caractères | Localisation utilisée pour le bloc Occupation | Lettres Unicode, marques diacritiques, chiffres, apostrophes, espaces, tirets, slash, parenthèses et points. Obligatoire si le bloc Occupation est utilisé.
salary_estimated_currency string Non Devise du salaire estimé | EUR ou USD uniquement. Obligatoire si le bloc Occupation est utilisé.
salary_estimated_duration string Non Durée de référence du salaire estimé | PT1H, P1D, P1M ou P1Y uniquement. Obligatoire si le bloc Occupation est utilisé.
salary_estimated_median number Non Salaire médian estimé | Nombre positif avec jusqu’à 2 décimales. Obligatoire si le bloc Occupation est utilisé.
salary_estimated_percentile10 number Non 10e percentile du salaire estimé | Nombre positif avec jusqu’à 2 décimales. Obligatoire si le bloc Occupation est utilisé. Ne peut pas être supérieur à salary_estimated_percentile25.
salary_estimated_percentile25 number Non 25e percentile du salaire estimé | Nombre positif avec jusqu’à 2 décimales. Obligatoire si le bloc Occupation est utilisé. Ne peut pas être inférieur à salary_estimated_percentile10 ni supérieur à salary_estimated_median.
salary_estimated_percentile75 number Non 75e percentile du salaire estimé | Nombre positif avec jusqu’à 2 décimales. Obligatoire si le bloc Occupation est utilisé. Ne peut pas être inférieur à salary_estimated_median ni supérieur à salary_estimated_percentile90.
salary_estimated_percentile90 number Non 90e percentile du salaire estimé | Nombre positif avec jusqu’à 2 décimales. Obligatoire si le bloc Occupation est utilisé. Ne peut pas être inférieur à salary_estimated_percentile75.
establishment_workforce_range string Non 2 à 64 caractères | Tranche d’effectif de l’établissement | Texte descriptif de l’effectif de l’établissement, par exemple : 9 salariés ou 9 à 12 salariés.
naf_code string Non 5 à 6 caractères | Code NAF / APE | Doit contenir 4 chiffres suivis d’une lettre majuscule. Le point après les 2 premiers chiffres est autorisé.
rome string Non Code ROME | Doit commencer par une lettre, suivie uniquement de chiffres.
rome_label string Non 2 à 128 caractères | Libellé du métier ROME associé à l’offre d’emploi | Lettres (avec accents), chiffres, espaces et ponctuation autorisée : . _ / + ( ) & , : ' ’ -
rome_appellation_label string Non 2 à 255 caractères | Appellation métier précise associée au ROME | Lettres (avec accents), chiffres, espaces et ponctuation autorisée : . _ / + ( ) & , : ' ’ -
available integer Non 1 à 3 chiffres | Nombre de postes à pourvoir | Entier de 0 à 999.
remote_work_mode string Non Mode de travail à distance | ONSITE, HYBRID ou REMOTE uniquement. Si la valeur est REMOTE, applicant_location_requirements devient obligatoire.
applicant_location_requirements string Non 2 à 64 caractères | Zone géographique requise pour candidater | Lettres Unicode, chiffres, apostrophes, espaces, tirets, slash, parenthèses, points et virgules. Obligatoire si remote_work_mode = REMOTE.
experience string Non Niveau d’expérience | Uniquement : Débutant accepté, Expérience exigée ou Expérience souhaitée.
formations array<object> Non Liste de formations | Tableau d’objets {code, domain_label, level_label, comment, requirement_code} représentant les formations associées à l’offre.
skills array<object> Non Liste de compétences | Tableau d’objets {code, label, requirement_code} représentant les compétences associées à l’offre.
professional_qualities array<object> Non Liste de qualités professionnelles | Tableau d’objets {label, description} représentant les qualités professionnelles associées à l’offre.
languages array<object> Non Liste de langues | Tableau d’objets {label, requirement_code} représentant les langues associées à l’offre.
permits array<object> Non Liste de permis | Tableau d’objets {label, requirement_code} représentant les permis associés à l’offre.
work_context_conditions array<object> Non Liste de conditions d’exercice | Tableau d’objets {label} représentant les conditions d’exercice associées à l’offre.
work_context_schedules array<object> Non Liste d’horaires | Tableau d’objets {label} représentant les horaires associés à l’offre.
posted_via string Non 2 à 64 caractères | Source ou plateforme de publication | Lettres (avec accents), chiffres, espaces et ponctuation autorisée : . _ / + ( ) & , : ' ’ -.
Cas des requêtes PUT (édition d’une offre)

Les endpoints de type PUT permettent de modifier une ou plusieurs données d’une offre existante. Contrairement aux requêtes POST, ils ne nécessitent pas la présence de tous les champs.

Seuls les champs id (identifiant de l’offre) et date (date de modification) sont obligatoires. Tous les autres champs peuvent être omis s’ils ne sont pas modifiés.

Lors d’une requête PUT, si un champ obligatoire est transmis avec une valeur vide (ex. "title": ""), il sera ignoré et la valeur précédemment enregistrée sera conservée. En revanche, si un champ optionnel est envoyé vide, cela est interprété comme une volonté explicite de supprimer son contenu. La valeur sera donc effacée dans l’enregistrement mis à jour.

Toutefois, les contraintes de validation (longueur, caractères autorisés, format strict, etc.) restent exactement les mêmes pour chaque champ, qu’il soit utilisé en création ou en modification.

Copyright EasyJobs API © 2026 - Tous droits réservés