Poussez par programmation le cahier de textes d’un enseignant vers son handle : classes, devoirs et échéances. Une API REST simple, réponses en JSON, pensée pour un ENT, un agenda ou un outil de préparation de cours (Teetsh, Pronote, le vôtre).
Toutes les requêtes s’authentifient avec une clé secrète passée en en-tête Authorization: Bearer. Générez votre clé dans le panel, onglet Connexions. Ne l’exposez jamais côté client.
Une clé identifie à la fois le prof et la source(son label, ex. « Agenda »). Révoquez-la à tout moment depuis l’onglet Connexions.
Vérifie la clé et renvoie le handle du prof ainsi que la source associée.
curl https://cahier.online/api/v1/me \ -H "Authorization: Bearer co_live_a1b2c3"
{
"handle": "mme-laurent",
"label": "Agenda"
}Sync déclaratif et idempotent. Envoyez l’état COURANT complet de votre source : cahier.online réconcilie pour (prof, source de la clé) — upsert des classes et devoirs par externalId, et suppression de ce qui n’est plus envoyé (les documents rattachés sont purgés). Seuls les devoirs à échéance future sont exposés aux élèves.
curl -X PUT https://cahier.online/api/v1/cahier \
-H "Authorization: Bearer co_live_a1b2c3" \
-H "Content-Type: application/json" \
-d '{"classes":[{"externalId":"cls-6eB","name":"6e B","subject":"SVT","entries":[{"externalId":"ev-123","content":"Exercices 4 et 5 p.112","dueDate":"2026-07-10","sourceUrl":"https://agenda.exemple.fr/devoirs/ev-123"}]}]}'{
"synced": { "classes": 1, "entries": 1 }
}Un devoir peut porter des documents (fiche d’exercices, etc.). Pour l’instant, ils s’ajoutent depuis le panel ; leur gestion par l’API arrive en v1.1.
L’API renvoie des codes HTTP standards. Le corps d’erreur contient un champ error (et details par champ en cas de validation).