Malina API
L'API Malina vous permet d'intégrer un agent IA autonome dans votre stack. Chat, mémoire persistante, exécution d'actions, alertes proactives — tout accessible via REST.
Authentication
Toutes les requêtes authentifiées utilisent un Bearer token dans le header Authorization. Obtenez un token via signup ou login.
Les endpoints publics (signup, login, plans, webhook) ne requièrent pas d'authentification.
Base URL
Error Handling
L'API utilise les codes HTTP standards. Le corps de la réponse contient un champ "detail" avec le message d'erreur.
| Code | Signification | Description |
|---|---|---|
| 200 | OK | Requête réussie |
| 400 | Bad Request | Paramètres manquants ou invalides |
| 401 | Unauthorized | Token manquant ou invalide |
| 403 | Forbidden | Pas les permissions requises |
| 429 | Rate Limited | Limite du plan atteinte |
| 500 | Server Error | Erreur interne |
POST /api/chat
🔒 Auth requiredEnvoyer un message à Malina. L'agent analyse, choisit les tools nécessaires, exécute, et retourne la réponse.
| Param | Type | Description |
|---|---|---|
| message* | string | Le message à envoyer à Malina |
| session_id* | string | Identifiant de session (pour la continuité conversationnelle) |
| user_id | string | Identifiant utilisateur (auto si JWT) |
POST /api/auth/signup
🔓 PublicCréer un nouveau compte.
| Param | Type | Description |
|---|---|---|
| email* | string | Adresse email |
| password* | string | Mot de passe (min 8 caractères) |
| name | string | Nom d'affichage |
POST /api/auth/login
🔓 PublicSe connecter et obtenir un JWT.
GET /api/auth/profile
🔒 Auth requiredObtenir le profil de l'utilisateur connecté.
GET /api/alerts
🔒 Auth requiredListe des alertes actives (non-dismissées) de l'utilisateur.
GET /api/brief/today
🔒 Auth requiredRécupérer le brief du jour généré automatiquement.
POST /api/brief/generate
🔒 Auth requiredForcer la génération d'un nouveau brief maintenant.
POST /api/transcribe
🔒 Auth requiredTranscrire un fichier audio via Whisper.
Envoyez le fichier en multipart/form-data avec le champ "file".
GET /health
🔓 PublicVérifier que l'API est opérationnelle.
GET /api/billing/plans
🔓 PublicLister les plans disponibles avec leurs limites.
GET /api/sources/status
🔒 Auth requiredStatut de tous les connecteurs de données (Telegram, Email, WhatsApp, etc.)