Recrutement / ATS (V2)

Soumet une candidature publique à une offre.

Soumet une candidature publique à une offre.

Accepte :
- `application/json` (form classique sans CV)
- `multipart/form-data` (form avec champ `cv` upload PDF/DOCX 5MB max, Lot 7)

Défense en profondeur (cf docs/patterns/integrations-public-endpoints.md) :
1. Schema valide (firstname/lastname/email/posting_id obligatoires)
2. Honeypot `website` vide → sinon 422 (bot detecté)
3. Posting existe, status=published, is_active=True
4. Dedup Redis (email, posting, 24h) → sinon 200 idempotent silencieux
5. hCaptcha vérifié (si HCAPTCHA_SECRET configuré)
6. Anti-discrimination : schema rejette déjà les 24 champs interdits
7. CV : MIME whitelist + magic-bytes + size 5MB max (Lot 7)
post/api/v1/recrutement/public/applications

Request

  • Base URL: https://erp.eyeot.fr/api/v1
  • URL: https://erp.eyeot.fr/api/v1/api/v1/recrutement/public/applications
  • Auth: none declared

Request body

consent_vivierboolean
cover_letterstring nullable
emailstring email required
firstnamestring required
hcaptcha_tokenstring nullable
lastnamestring required
phonestring nullable
posting_idstring uuid required
prequalif_answersobject nullable
websitestring nullable
years_experienceinteger nullable

Response

Succès — payload {data, meta} (cf. API-GUIDE §3.1)

Changes

No recorded changes to this operation across all 1 revision of this API.