# Mini-spec API — POST /parents/dossier (#129) Contrat pour le **plan front** (wizard création dossier famille staff). Miroir de **#156** (`POST /assistantes-maternelles/dossier`). ## Endpoint | | | |--|--| | **Méthode** | `POST` | | **URL** | `{base}/parents/dossier` | | **Auth** | Bearer JWT | | **Rôles** | `gestionnaire`, `administrateur`, `super_admin` | | **Content-Type** | `application/json` | Ne **pas** appeler `POST /auth/register/parent` depuis le dashboard. ## Body (JSON) Aligné `RegisterParentCompletDto`, **sans** CGU/privacy obligatoires (acceptées serveur). ### Parent 1 (obligatoire) | Champ | Type | Obligatoire | Notes | |-------|------|-------------|--------| | `email` | string | oui | unique | | `prenom` | string | oui | | | `nom` | string | oui | | | `telephone` | string | oui | `0X…` ou `+33…` | | `adresse` | string | non | | | `code_postal` | string | non | | | `ville` | string | non | | ### Co-parent (optionnel) `co_parent_email`, `co_parent_prenom`, `co_parent_nom`, `co_parent_telephone`, `co_parent_meme_adresse`, `co_parent_adresse`, `co_parent_code_postal`, `co_parent_ville`. Si co-parent fourni : e-mail distinct ; mêmes règles téléphone / adresse que register. ### Enfants (≥ 1) | Champ | Type | Notes | |-------|------|--------| | `enfants` | `EnfantInscriptionDto[]` | `prenom`, `nom`, `date_naissance` / `date_previsionnelle_naissance`, `genre`, `photo_base64`, `photo_filename`, etc. | ### Présentation | Champ | Type | Obligatoire | |-------|------|-------------| | `presentation_dossier` | string | non (max 2000) | ## Réponses ### 201 Created ```json { "message": "Dossier famille créé et validé. Un e-mail de création de mot de passe a été envoyé.", "numero_dossier": "2026-000043", "parent_user_id": "uuid-pivot", "co_parent_user_id": "uuid-ou-null", "statut": "actif", "enfant_ids": ["uuid", "..."] } ``` Effets serveur : user(s) parent **actif**, fiches `parents`, enfants + foyer, n° dossier, **e-mail création MDP** pour chaque compte sans MDP (pas d’accusé « en attente »). ### Erreurs | Code | Cas | |------|-----| | 400 | Validation DTO / métier (enfants vides, dates, etc.) | | 401 | Token manquant / invalide | | 403 | Rôle non staff | | 409 | Conflit e-mail (pivot et/ou co-parent) | ## Front - `UserService.createParentDossier(body)` → cet endpoint - Wizard create basé sur `ValidationFamilyWizard` - Ne pas envoyer `acceptation_cgu` / `acceptation_privacy` (optionnels) ## Branche `feature/129-creation-dossier-parent`