# MafCV Candidate Portal > Portail du candidat externe : création de compte, dépôt de CV, formulaire complémentaire, tests d'évaluation, résultats et suivi des candidatures aux offres publiques. ## What is MafCV Candidate Portal? Portail du candidat externe : création de compte, dépôt de CV, formulaire complémentaire, tests d'évaluation, résultats et suivi des candidatures aux offres publiques. ## Features - **Gestion de compte candidat** — 12 endpoints - **Dépôt et analyse de CV** — 10 endpoints - **Tests de logique et personnalité** — 3 endpoints - **Suivi de candidature externe** — 3 endpoints - **Consultation des offres publiques** — 5 endpoints - **Groupe et sociétés** — 3 endpoints - **Notifications candidat** — 2 endpoints - **Gestion des sociétés** - **Consultation des offres publiques** - **Candidature et diffusion des offres** - **Activation des sociétés** - **Extraction et classification** — 5 endpoints - **Matching initial** — 3 endpoints - **Gestion de compte collaborateur** - **Accès aux offres internes** - **Suivi de candidature interne** - **Candidatures reçues** - **Accréditations du périmètre** - **Gestion des offres internes classiques** - **Gestion des offres privées groupe** - **Publication et archivage des offres** - **Sessions de recrutement** - **Gestion des tests et envois** - **Notifications et destinataires** - **Profil candidat** - **Configuration du moteur d'évaluation** - **Moteur de recherche IA** - **Sessions de recherche** - **Matching et recommandations** - **Tableau de bord et métriques IA** - **Anonymisation des données IA** - **Base de données candidats** - **Gestion des cooptations** - **Consultation des offres publiques** - **Groupe et sociétés publics** - **Gestion des utilisateurs** - **Supervision des sociétés** - **Gestion des rôles et permissions** - **Supervision et sécurité** - **Authentification Administration** ## Endpoints (46) - `GET /api/candidate/applications` — Récupérer la liste paginée des candidatures du candidat aux offres publiques, avec statut et dates. - `DELETE /api/candidate/applications/{application_id}` — Retirer une candidature à une offre publique. - `GET /api/candidate/applications/{application_id}` — Consulter le détail complet d'une candidature externe, incluant l'offre associée, l'historique des étapes et les messages échangés. - `DELETE /api/candidate/auth/account` — Supprimer définitivement le compte candidat et l'ensemble de ses données personnelles conformément au RGPD. - `POST /api/candidate/auth/change-password` — Changement du mot de passe candidat. - `POST /api/candidate/auth/forget-me` — Déclencher la suppression définitive du compte candidat et de ses données personnelles conformément au droit à l'oubli (RGPD), avec accusé de réception et date d'effacement planifiée. - `POST /api/candidate/auth/forgot-password` — Demande de réinitialisation du mot de passe candidat. - `POST /api/candidate/auth/login` — Authentification d'un candidat existant avec génération d'un token JWT et gestion de sa session. - `POST /api/candidate/auth/logout` — Déconnexion du candidat et révocation de son token. - `GET /api/candidate/auth/me` — Profil du candidat authentifié. - `PUT /api/candidate/auth/me` — Met à jour les informations du profil du candidat authentifié (prénom, nom, téléphone, email). - `POST /api/candidate/auth/refresh` — Renouvellement du token d'authentification du candidat. - `POST /api/candidate/auth/register` — Inscription d'un nouveau candidat externe sur le portail candidat avec email, mot de passe et nom complet. - `POST /api/candidate/auth/reset-password` — Réinitialisation du mot de passe candidat. - `PUT /api/candidate/auth/rgpd-consent` — Enregistrer ou mettre à jour le consentement RGPD du candidat pour le traitement de ses données personnelles. - `GET /api/candidate/companies` — Récupérer la liste paginée des sociétés actives du groupe visibles par les candidats. - `GET /api/candidate/companies/{company_id}` — Consulter le détail d'une société active du groupe : coordonnées, description et nombre d'offres publiées. - `POST /api/candidate/cv` — Déposer un CV au format PDF, DOCX, DOC ou ODT. - `GET /api/candidate/cv` — Récupérer la liste des CV déposés par le candidat, avec statut d'analyse IA et dates. - `DELETE /api/candidate/cv/{cv_id}` — Supprime un CV du candidat authentifié. - `GET /api/candidate/cv/{cv_id}` — Récupérer le statut d'analyse IA et les métadonnées d'un CV déposé. - `POST /api/candidate/cv/{cv_id}/analyze` — Déclencher l'extraction IA des informations structurées depuis le CV déposé par le candidat. - `GET /api/candidate/cv/{cv_id}/classification` — Classifier le profil d'un candidat (domaine principal, niveau d'expérience, catégories de compétences) à partir des données extraites de son CV. - `PUT /api/candidate/cv/{cv_id}/form` — Soumettre ou mettre à jour le formulaire complémentaire associé au CV. - `PUT /api/candidate/cv/{cv_id}/primary` — Promouvoir un CV en tant que CV principal du candidat. - `GET /api/candidate/cv/{cv_id}/summary` — Générer le résumé automatique du profil à partir du CV. - `GET /api/candidate/cv/{cv_id}/url` — Obtenir l'URL de téléchargement du fichier original du CV déposé par le candidat (PDF, DOCX, DOC ou ODT). - `GET /api/candidate/group` — Consulter les informations générales du groupe : nom, description, site web, pays et nombre de sociétés membres. - `POST /api/candidate/ia/classify/{cv_id}` — Déclencher la classification du profil d'un CV par domaine d'activité à l'aide du modèle IA, à partir des données extraites. - `GET /api/candidate/ia/classify/{cv_id}` — Classifier le profil d'un CV par domaine d'activité à partir des données extraites. - `GET /api/candidate/ia/classify/{cv_id}/experience-level` — Classifier le profil d'un CV par niveau d'expérience (junior, confirmé, senior, expert) grâce à l'IA. - `POST /api/candidate/ia/extract/{cv_id}` — Déclencher manuellement le pipeline d'extraction IA des informations structurées depuis un CV déposé. - `GET /api/candidate/ia/extract/{cv_id}/result` — Consulter les données structurées extraites par l'IA depuis un CV, y compris l'état d'avancement de l'extraction asynchrone. - `GET /api/candidate/ia/match/{cv_id}/offers` — Associer automatiquement un CV aux offres publiques pertinentes. - `POST /api/candidate/ia/match/{cv_id}/score` — Calculer le score de pertinence initial entre un CV candidat et une offre d'emploi donnée. - `GET /api/candidate/ia/match/history` — Consulter l'historique des opérations de matching effectuées sur les CV candidats avec les scores de pertinence associés. - `GET /api/candidate/notifications` — Récupérer la liste paginée des notifications reçues par le candidat connecté, avec statut de lecture. - `POST /api/candidate/notifications/{notification_id}/read` — Marque une notification du candidat connecté comme lue. - `POST /api/candidate/offers/{offer_id}/apply` — Postuler à une offre publique depuis le portail candidat, avec le CV sélectionné et une lettre de motivation. - `GET /api/candidate/offers/public` — Récupérer la liste paginée des offres publiques publiées par les sociétés du groupe, accessibles au candidat. - `GET /api/candidate/offers/public/{offer_id}` — Consulter le détail complet d'une offre publique du groupe : description, société, contrat, salaire, compétences et dates. - `GET /api/candidate/offers/public/search` — Rechercher des offres publiques du groupe selon des critères multiples : domaine, compétences, localisation, type de contrat. - `GET /api/candidate/offers/recommended` — Récupérer les offres recommandées pour le candidat selon ses CV : sélection fondée sur le matching IA (score de pertinence), à l'état PUBLISHED. - `POST /api/candidate/tests/{test_id}/answers` — Soumettre les réponses du candidat pour un test de logique ou de personnalité et clôturer la passation. - `GET /api/candidate/tests/{test_id}/results` — Consulter les résultats d'un test passé par le candidat, comparables au sein de sa session de recrutement. - `GET /api/candidate/tests/pending` — Récupérer la liste des tests à passer par le candidat pour sa session de recrutement en cours, avec durée, nombre de questions et échéance. ## Configuration - **baseUrl** : https://mafcv-candidate-portal.test-vps-online.xyz - **locales** : en, fr - **defaultLocale** : en - **i18n** : next-intl (2 langues) ## Installation The source code and documentation are available here: - Home : https://mafcv-candidate-portal.test-vps-online.xyz/en - LLM and discovery files : https://mafcv-candidate-portal.test-vps-online.xyz/en/llms ## Links - Terms : https://mafcv-candidate-portal.test-vps-online.xyz/en/terms - Privacy : https://mafcv-candidate-portal.test-vps-online.xyz/en/privacy