Documentation
Vue d'ensemble de l'API et d'OAuth
AnnexGroup fournit une API REST sous /api/v1/.
Authentification
- Cookie de session : pour les requêtes de l'interface web
- OAuth 2.0 : pour les applications tierces
- Jetons d'accès / access tokens : pour les scripts, les systèmes externes et les agents d'IA
Gestion des jetons d'accès
Sous Réglages → Jetons d'accès, vous pouvez créer des jetons personnels. Les administrateurs peuvent en plus émettre sous Administration → Jetons d'accès admin des jetons d'administration serveur avec des portées (scopes) fines.
Portées administrateur possibles :
admin– accès administrateur completadmin:read– API d'administration en lectureadmin:write– API d'administration en écritureadmin:users,admin:agents,admin:domains,admin:queue,admin:security,admin:license,admin:backup,admin:settings,admin:mail
Les jetons d'accès conviennent particulièrement pour :
- les scripts d'automatisation (sauvegarde, supervision, rapports)
- l'administration externe via l'API REST
- les agents d'IA autorisés à lire ou modifier des configurations du serveur
API des jetons d'accès admin
| Méthode | Point d'API | Description |
|---|---|---|
| GET | /api/v1/admin/tokens |
Lister ses propres jetons admin |
| POST | /api/v1/admin/tokens |
Créer un nouveau jeton admin |
| DELETE | /api/v1/admin/tokens/{id} |
Révoquer un jeton admin |
Exemple de création d'un jeton :
curl -H "Authorization: Bearer $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Monitoring-Agent","scopes":["admin:read","admin:queue"],"expires_in_days":90}' \
https://annexgroup.example/api/v1/admin/tokens
La réponse contient le jeton en clair une seule fois :
{"token":"ag_...","expires_at":"2026-10-28T12:00:00Z"}
API d'administration
Toutes les fonctions administratives sont également accessibles via l'API REST :
| Méthode | Point d'API | Description |
|---|---|---|
| GET | /api/v1/admin/users |
Lister les utilisateurs |
| POST | /api/v1/admin/domains |
Créer un domaine |
| GET | /api/v1/admin/queue |
Afficher la file de courriels |
| POST | /api/v1/admin/security/preset |
Appliquer un profil de sécurité |
Enregistrer des applications OAuth
Sous Réglages → Applications OAuth, les utilisateurs peuvent enregistrer des applications :
- Indiquez le nom de l'application et l'URI de redirection
- Recevez l'ID client et le secret client
- Attribuez des scopes selon le principe du moindre privilège
Points d'API importants
| Méthode | Point d'API | Description |
|---|---|---|
| GET | /api/v1/mailboxes |
Lister les boîtes courriel |
| GET | /api/v1/messages |
Récupérer les courriels |
| POST | /api/v1/messages |
Envoyer un courriel |
| GET | /api/v1/contacts |
Lister les contacts |
| GET | /api/v1/events |
Récupérer les rendez-vous |
Les spécifications OpenAPI se trouvent sous :
- Protocole AnnexTalk Wire :
docs/talk-protocol/v1/openapi.yaml - API d'administration :
docs/openapi-admin.yaml
Exemples d'intégration
Sous examples/api-admin/, vous trouvez :
annexgroup_admin.py— outil Python déclaratif pour les utilisateurs, domaines, alias et DKIMconfig.yaml— configuration d'exempleansible/playbook.yml— playbook Ansible idempotent
Ces exemples servent de point de départ pour des flux d'infrastructure-as-code.
Quelque chose est peu clair ou mal décrit ? Dites-le-nous — nous corrigerons. Votre question nous montre où le texte est insuffisant.