Ce que votre SI pourra piloter, et ce qui ne l’est pas encore.
Cette page est écrite pour l’intégrateur qui doit estimer une charge de raccordement sans passer par un commercial. Elle liste les ressources domaine par domaine, avec pour chacune un exemple de requête et de réponse. Le statut affiché à côté de chaque point dit où nous en sommes — et à ce jour, aucun n’est ouvert.
Les conventions, avant les ressources.
Ce sont elles qui décident de la charge d’intégration, plus que le nombre d’endpoints.
- REST, JSON
- Conventions OpenAPI, verbes HTTP standards, codes de retour standards. Rien à apprendre de spécifique à CORRAICT.
- Clés API et portées
- Une clé par intégration, portée en lecture ou en écriture, révocable indépendamment. Une clé compromise se retire sans interrompre les autres raccordements.
- Identifiants opaques
- Les objets s’adressent par un identifiant court et préfixé — eval_, cpy_, crs_ — et non par nos clés internes. Le préfixe dit la nature de l’objet dans un journal.
- Version dans l’URL
- Le numéro de version fait partie du chemin. Une évolution incompatible sort sous une nouvelle version ; l’ancienne continue de répondre le temps annoncé.
Domaine par domaine, avec un exemple.
Dépliez un point pour voir la requête et la réponse. Le badge à droite donne son statut.
Résultats & corrections
Récupérez les notes, appréciations et corrections détaillées produites par CORRAICT pour les remonter dans votre LMS, votre SIS ou votre tableau de bord interne.
GET
/v1/evaluationsPlanifiéLister les évaluations de l’établissement
Retourne les évaluations du tenant, avec filtres par cours, classe, statut et fenêtre de dates. Pagination par curseur.
Requêtecurl https://api.corraict.com/v1/evaluations?status=published&limit=20 \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2"Réponse{ "data": [ { "id": "ev_7Hh2…", "title": "Business plan — M1 Entrepreneuriat", "course": "Entrepreneuriat", "class": "M1-A", "status": "published", "max_score": 20, "submissions_count": 28, "opens_at": "2026-06-01T08:00:00Z", "closes_at": "2026-06-08T23:59:00Z" } ], "next_cursor": null }GET
/v1/evaluations/{id}/resultsPrioritairePlanifiéExporter les notes d’une évaluation
Exporte l’ensemble des notes validées d’une évaluation (élève, note, date de remise, appréciation). Formats JSON ou CSV via l’en-tête Accept. C’est l’API de remontée des notes vers un système tiers.
Requêtecurl https://api.corraict.com/v1/evaluations/ev_7Hh2…/results \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Accept: application/json"Réponse{ "evaluation_id": "ev_7Hh2…", "max_score": 20, "results": [ { "student": { "first_name": "Léa", "last_name": "Martin", "email": "lea.martin@…" }, "submitted_at": "2026-06-07T18:42:00Z", "score": 16.5, "validated_at": "2026-06-09T09:12:00Z" } ] }GET
/v1/submissions/{id}/correctionPlanifiéDétail d’une correction
Retourne la correction d’une copie : note globale, appréciation rédigée et détail par critère (label, points, commentaire) tel que validé par l’enseignant.
Requêtecurl https://api.corraict.com/v1/submissions/sub_4Kp1…/correction \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2"Réponse{ "submission_id": "sub_4Kp1…", "score": 16.5, "feedback": "Étude de marché solide, hypothèses financières à étayer…", "per_criterion": [ { "label": "Étude de marché", "score": 5, "max": 5, "comment": "Complète et sourcée." }, { "label": "Modèle financier", "score": 3.5, "max": 6, "comment": "Marges optimistes." } ], "validated_at": "2026-06-09T09:12:00Z" }
Utilisateurs & accès
Provisionnez vos enseignants et vos élèves depuis votre annuaire RH ou votre SIS, et synchronisez l’ouverture ou la révocation des accès avec votre politique de sécurité.
POST
/v1/teachers/invitationsPrioritairePlanifiéInviter des professeurs en lot
Crée et envoie des invitations à un lot d’enseignants. Chaque profil reçoit un email d’activation. Idempotent par adresse email (une invitation déjà active n’est pas dupliquée).
Requêtecurl -X POST https://api.corraict.com/v1/teachers/invitations \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Content-Type: application/json" \ -d '{ "teachers": [ { "first_name": "Carine", "last_name": "Rugieri", "email": "c.rugieri@…" }, { "first_name": "Marc", "last_name": "Bonnet", "email": "m.bonnet@…" } ] }'Réponse{ "invited": 2, "skipped": 0, "invitations": [ { "email": "c.rugieri@…", "status": "sent", "user_id": "usr_9Xa2…" }, { "email": "m.bonnet@…", "status": "sent", "user_id": "usr_2Bd7…" } ] }POST
/v1/students/importPlanifiéImporter des élèves en masse
Crée ou met à jour des élèves et les rattache à une classe. Accepte un tableau JSON ou un upload CSV. Retourne le bilan ligne à ligne (créés / mis à jour / en erreur).
Requêtecurl -X POST https://api.corraict.com/v1/students/import \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Content-Type: application/json" \ -d '{ "class_id": "cls_5Mn8…", "students": [ { "first_name": "Léa", "last_name": "Martin", "email": "lea.martin@…" } ] }'Réponse{ "created": 1, "updated": 0, "errors": [] }PATCH
/v1/users/{id}/statusPrioritairePlanifiéAccorder ou révoquer un accès
Active ou désactive un compte (élève, professeur, administrateur). La révocation suspend immédiatement l’accès sans supprimer les données ; elle est réversible.
Requêtecurl -X PATCH https://api.corraict.com/v1/users/usr_9Xa2…/status \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Content-Type: application/json" \ -d '{ "status": "inactive" }'Réponse{ "id": "usr_9Xa2…", "status": "inactive", "updated_at": "2026-06-05T14:20:00Z" }DELETE
/v1/users/{id}PlanifiéEffacer définitivement un utilisateur
Supprime un compte et l’ensemble de sa trace applicative (RGPD — droit à l’effacement). Opération irréversible, journalisée. Le registre de consommation est conservé anonymisé.
Requêtecurl -X DELETE https://api.corraict.com/v1/users/usr_9Xa2… \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2"Réponse{ "id": "usr_9Xa2…", "deleted": true }
Référentiel pédagogique
Synchronisez la structure de votre établissement (écoles, campus, programmes, années, classes, cours) depuis votre système d’information scolaire.
GET
/v1/classesPlanifiéLister les classes
Retourne les classes du tenant avec leur rattachement (école → campus → programme → année) et leurs effectifs.
Requêtecurl https://api.corraict.com/v1/classes \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2"Réponse{ "data": [ { "id": "cls_5Mn8…", "name": "M1-A", "program": "Entrepreneuriat", "students_count": 28 } ] }POST
/v1/coursesPlanifiéCréer un cours
Crée un cours (instance d’enseignement matière × classe) et l’affecte optionnellement à un enseignant responsable.
Requêtecurl -X POST https://api.corraict.com/v1/courses \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Content-Type: application/json" \ -d '{ "name": "Entrepreneuriat", "class_id": "cls_5Mn8…", "teacher_id": "usr_9Xa2…" }'Réponse{ "id": "crs_1Qe6…", "name": "Entrepreneuriat", "class_id": "cls_5Mn8…", "teacher_id": "usr_9Xa2…" }
Webhooks & événements
Recevez en temps réel les événements CORRAICT (correction publiée, évaluation clôturée) pour déclencher vos propres traitements sans interrogation périodique.
POST
/v1/webhooksPlanifiéEnregistrer un endpoint de réception
Déclare une URL HTTPS qui recevra les événements souscrits. Les livraisons sont signées (HMAC) et rejouées en cas d’échec.
Requêtecurl -X POST https://api.corraict.com/v1/webhooks \ -H "Authorization: Bearer ck_live_3aF9…ZpQ2" \ -H "Content-Type: application/json" \ -d '{ "url": "https://votre-si.example.com/hooks/corraict", "events": ["correction.published", "evaluation.closed"] }'Réponse{ "id": "wh_8Tz3…", "url": "https://votre-si.example.com/hooks/corraict", "events": ["correction.published", "evaluation.closed"], "signing_secret": "whsec_…" }EVENT
correction.publishedPlanifiéUne correction est validée et publiée à l’élève
Émis dès qu’un enseignant publie une correction. Idéal pour remonter automatiquement la note dans un LMS au fil de l’eau.
LivraisonPOST https://votre-si.example.com/hooks/corraict X-Corraict-Signature: t=…,v1=… Content-Type: application/jsonCharge utile{ "type": "correction.published", "created_at": "2026-06-09T09:12:00Z", "data": { "submission_id": "sub_4Kp1…", "evaluation_id": "ev_7Hh2…", "student_email": "lea.martin@…", "score": 16.5 } }
Les webhooks n’existent pas encore.
Ils éviteront à votre SI d’interroger CORRAICT en boucle : les événements seront poussés vers votre point d’écoute, signés. Nous ne les annonçons ni au présent, ni avec une date — trois événements sont prévus au départ.
- correction.published
- evaluation.closed
- submission.received
Écrivez-nous pour être prévenu à leur mise à disposition, ou pour peser sur la liste des événements : c’est le bon moment pour le faire.
Une contrainte d’intégration à valider ?
Décrivez-nous votre SI de scolarité et ce que vous voulez en faire circuler. Nous vous dirons ce qui est possible aujourd’hui, et ce qui ne l’est pas.