PrevenAPI

Documentation

Spécification 2026-02 · API v1

Quickstart

L'API transforme vos données en fichier CSV conforme à l'import en masse du Passeport de prévention, ou vérifie un CSV que vous avez déjà. Elle ne dépose rien sur le portail officiel : vous téléversez le fichier vous-même.

1. Créez une clé de test

Dans le dashboard, Clés API → Créer → Test. Les clés pp_test_ sont gratuites et limitées à 50 lignes par requête.

2. Validez une déclaration

declaration.json :

{
  "type": "adf",
  "declarant": "employer",
  "declarations": [
    {
      "id": "SST_2025_07",
      "reference": "SESSION_JUILLET_2025",
      "training": {
        "name": "Sauveteur secouriste du travail",
        "start_date": "2025-07-22",
        "end_date": "2025-07-25",
        "delivery_mode": "PRESENTIEL",
        "certifying": false,
        "formacodes": ["42829"],
        "nsf_codes": ["344r"]
      },
      "transferable_skills": ["115650"],
      "holders": [
        {
          "unique_id": "SST_2025_07-0001",
          "nir": "1880375123456",
          "birth_name": "DUPONT",
          "validity_start": "2025-07-25",
          "validity_end": "2027-07-24"
        }
      ]
    }
  ]
}
curl -X POST https://api.prevenapi.fr/v1/declarations/validate \
  -H "Authorization: Bearer pp_test_xxx" \
  -H "Content-Type: application/json" \
  -d @declaration.json
{"valid": true, "spec_version": "2026-02", "rows_total": 1, "rows_valid": 1, "rows_invalid": 0, "errors": [], "warnings": []}

3. Générez le fichier

curl -X POST https://api.prevenapi.fr/v1/files/generate \
  -H "Authorization: Bearer pp_test_xxx" \
  -H "Content-Type: application/json" \
  -d @declaration.json

Puis téléchargez download_url avec la même clé. Le fichier est supprimé au bout de 24 heures.

Les quatre types de fichiers

type declarant Fichier officiel
adf employer Attestations de formation, déposées par un employeur
adf training_organization Attestations de formation, déposées par un organisme de formation
jdr employer Justificatifs de réussite, employeur
jdr training_organization Justificatifs de réussite, organisme de formation

Un fichier ne contient qu'un seul type. Les règles ne sont pas les mêmes selon le déclarant : un organisme de formation doit par exemple fournir 3 à 10 compétences ROME et dire si la formation est certifiante, un employeur non.

Ce que le format officiel ne contient pas

Ni prénom, ni date de naissance, ni raison sociale. Un titulaire est identifié par son NIR (13 caractères, sans la clé) et son nom de naissance.

Exemples complets : dossier examples/ (Python et JavaScript).