← AutiHome

API REST AutiHome

Endpoints CodeIgniter pour l’authentification, les profils enfants, les activités, les ressources PDF et la communauté. Toutes les routes sont préfixées par /api.

https://api.autihome.app http://127.0.0.1:8080

Authentification

Les routes marquées « Auth » nécessitent un en-tête Authorization: Bearer <token> obtenu via login ou register. CORS est activé sur le groupe /api.

Méthode Endpoint Auth Description
POST /api/auth/register Non Créer un compte.
Body : email, password (≥ 8), display_name, language (opt.)
POST /api/auth/login Non Connexion. Body : email, password
GET /api/auth/me Oui Utilisateur courant
GET /api/profile Oui Profil utilisateur
PUT /api/profile Oui Mettre à jour le profil

Enfants (profils)

Méthode Endpoint Auth Description
GET /api/children Oui Liste des profils enfants
POST /api/children Oui Créer un profil enfant
GET /api/children/{id} Oui Détail d’un profil
PUT /api/children/{id} Oui Mettre à jour
DELETE /api/children/{id} Oui Supprimer

Activités & suivi

Méthode Endpoint Auth Description
GET /api/activities Oui Liste publiée. Query : category, age, duration, premium
GET /api/activities/daily Oui Suggestion du jour (child_id ou age)
GET /api/activities/{id} Oui Détail d’une activité
POST /api/activities/{id}/favorite Oui Ajouter aux favoris
DELETE /api/activities/{id}/favorite Oui Retirer des favoris
POST /api/activities/{id}/complete Oui Marquer comme complétée
GET /api/favorites Oui Favoris de l’utilisateur
GET /api/completions Oui Historique des complétions

Ressources PDF

Méthode Endpoint Auth Description
GET /api/resources Oui Liste. Query : category, premium. L’URL fichier n’est pas exposée ici.
GET /api/resources/{id} Oui Métadonnées d’une ressource
POST /api/resources/{id}/download Oui Obtenir le lien / enregistrer un téléchargement

Communauté

Méthode Endpoint Auth Description
GET /api/posts Oui Fil des publications (limité)
POST /api/posts Oui Créer un post. Body : body, title (opt.)
POST /api/posts/{id}/like Oui Liker
DELETE /api/posts/{id}/like Oui Retirer le like
GET /api/posts/{id}/comments Oui Commentaires
POST /api/posts/{id}/comments Oui Ajouter un commentaire
POST /api/reports Oui Signaler un contenu

Abonnement

Méthode Endpoint Auth Description
GET /api/subscription Oui État de l’abonnement
POST /api/subscription/sync Oui Synchroniser l’abonnement (store)

Admin

Préfixe /api/admin. Accès via rôle admin (Bearer) ou en-tête X-Admin-Key.

Méthode Endpoint Description
GET / POST /api/admin/activities Lister / créer des activités
PUT / DELETE /api/admin/activities/{id} Modifier / supprimer
GET / POST /api/admin/resources Lister / créer des ressources
PUT /api/admin/resources/{id} Mettre à jour une ressource
GET /api/admin/reports Liste des signalements
PUT /api/admin/reports/{id} Traiter un signalement

Format de réponse

Les contrôleurs renvoient généralement un JSON du type { "success": true, "message": "...", "data": ... } en cas de succès, ou { "success": false, "message": "...", "errors": ... } en cas d’erreur (validation 422, etc.).