Référence API
Une vue d’ensemble curatée de la surface HTTP publique. La spec OpenAPI complète n’est volontairement pas exposée en production — elle est disponible en développement et partagée avec les partenaires enrôlés sur demande.
URL de base
https://api.anomia.ai
Les partenaires en accès anticipé sont pointés vers un host de staging à la première prise de contact.
Authentification
Deux variantes de Bearer, choisies selon qui appelle.
Humain → console / API admin
Authorization: Bearer <anomia-access-jwt>
Émis par POST /v1/auth/sso-exchange (OAuth) ou via le flux SSO exchange-code. Porte un claim mfa (requis pour owner/admin), un claim session_id rattachant le JWT à une session côté serveur, et un TTL de 1 h. Rotez via POST /v1/auth/refresh.
Client IA → point d’accès MCP + broker
Authorization: Bearer ano_live_<256-bit-random>
Émise dans la console sous Clés API. Stockée uniquement sous forme de hachage SHA-256 côté serveur. Peut être rattachée à une identité d’agent spécifique pour le tool-gating par agent.
Forme commune des erreurs
Toute réponse non-2xx est JSON :
{
"error": "mfa_required",
"message": "MFA verification required.",
"details": {
/* optionnel, spécifique à l'erreur */
}
}
Quelques codes courants : invalid_token, invalid_refresh_token, mfa_required, mfa_invalid_code, mfa_lockout, no_sso_connector, sso_email_domain_mismatch, invalid_sso_exchange_code, permission_denied, not_found, validation_error.
Groupes d’endpoints curatés
Authentification
| Méthode | Chemin | Notes |
|---|---|---|
POST |
/v1/auth/sso-exchange |
id_token OAuth (Google / Microsoft) → access + refresh. |
POST |
/v1/auth/refresh |
Rotation refresh ; retourne une nouvelle paire access + refresh. |
POST |
/v1/auth/logout |
Révoque la session courante + deny-list le JWT d’accès. |
POST |
/v1/auth/sso/initiate |
SSO d’entreprise — résoud le connecteur par domaine e-mail → URL Jackson. |
GET |
/v1/auth/sso/callback |
Cible de redirection Jackson (interne). |
POST |
/v1/auth/sso/exchange-code |
Échange un sso_code à usage unique pour la forme session. |
POST |
/v1/auth/mfa/verify |
Step-up à la connexion — bascule la session à mfa_satisfied=true. |
Exemple — refresh :
POST /v1/auth/refresh
Content-Type: application/json
{ "refresh_token": "ano_refresh_…" }
→ 200 OK
{
"access_token": "eyJhbGciOi…",
"refresh_token": "ano_refresh_…", // tourné
"token_type": "Bearer",
"expires_in": 3600
}
MFA (TOTP)
| Méthode | Chemin | Notes |
|---|---|---|
POST |
/v1/users/me/mfa/enroll |
Retourne l’URI otpauth://. |
POST |
/v1/users/me/mfa/confirm |
Vérifie le 1ᵉʳ code → retourne 10 codes de secours (montrés une seule fois). |
POST |
/v1/users/me/mfa/disable |
Auto-désactivation ; bloquée (403) pour les rôles requis. |
POST |
/v1/users/me/mfa/regenerate-backup-codes |
Ré-émet les 10 codes. |
POST |
/v1/users/{user_id}/mfa/reset |
Owner break-glass ; révoque aussi les sessions de la cible. |
Connecteurs SSO (Owner uniquement)
| Méthode | Chemin | Notes |
|---|---|---|
POST |
/v1/sso-connectors |
Enregistre un connecteur SSO de tenant. |
GET |
/v1/sso-connectors |
Liste. |
GET |
/v1/sso-connectors/{id} |
Récupère un connecteur. |
PATCH |
/v1/sso-connectors/{id} |
Modifier / activer / désactiver. |
DELETE |
/v1/sso-connectors/{id} |
Suppression définitive (efface le lien chez les utilisateurs existants). |
Serveurs MCP upstream (le broker)
| Méthode | Chemin | Notes |
|---|---|---|
GET |
/v1/upstreams |
Liste vos upstreams brokés + leur statut + nombre d’outils. |
POST |
/v1/upstreams |
Enregistre un nouvel upstream (token-paste ou OAuth-to-upstream). |
GET |
/v1/upstreams/{id} |
Statut, transport, dernier handshake, nombre d’outils. |
DELETE |
/v1/upstreams/{id} |
Désinscrire. |
Agents (identités machine)
| Méthode | Chemin | Notes |
|---|---|---|
GET |
/v1/agents |
Liste vos agents. |
POST |
/v1/agents |
Déploie un nouvel agent — reçoit une clé API (ano_live_…) une seule fois. |
PATCH |
/v1/agents/{id} |
Modifier nom, max_data_class, statut. |
POST |
/v1/agents/{id}/suspend |
Chemin chaud : les appels suivants échouent fermés. |
POST |
/v1/agents/{id}/kill |
Permanent. |
Journal d’audit
| Méthode | Chemin | Notes |
|---|---|---|
GET |
/v1/audit-logs |
Liste avec filtres (actor, action, from, to, outcome). |
GET |
/v1/audit-logs/export |
Export CSV. |
POST |
/v1/audit-logs/verify |
Vérification de la chaîne de hachage (côté serveur ; les clients peuvent aussi re-marcher la chaîne depuis le CSV). |
Point d’accès MCP (clients IA)
Le serveur MCP vit à /v1/mcp (transport Streamable HTTP). Utilisez le client MCP conforme à la spec de votre choix ; Anomia parle les méthodes canoniques (initialize, tools/list, tools/call…). L’authentification est le Bearer ano_live_… ; le broker applique tool-gating, classification, et le modèle de sécurité IA à cinq couches avant de relayer.
Versioning
L’API HTTP est montée sous /v1. Les changements cassants atterriront sous /v2 ; /v1 suivra une politique de dépréciation documentée le moment venu.
Besoin de plus ?
L’OpenAPI complet est disponible aux partenaires enrôlés sur demande. Répondez à votre e-mail d’accès si vous le voulez (ou n’importe quoi d’autre spécifique à votre intégration).