DEMO Back to Home
Demo Company

API Documentation

REST API reference for Demo Company workspace.

Méthode
Rôle
Catégorie
GET/membersmember+30 req / h par tenant

Récupère la liste complète des membres du workspace avec leur rôle, date d'ajout, et informations de profil. Les admins obtiennent en plus la date de dernière activité issue des journaux d'audit.

GET/audit?page=0&since=&action=admin+30 req / h par tenant

Récupère les journaux d'audit paginés (50 entrées par page). Chaque entrée contient l'action effectuée, l'utilisateur, l'adresse IP source et un horodatage. Filtrable par fenêtre de temps et par type d'action.

Params: page (number, default 0), since (fenêtre de temps : 1m, 5m, 15m, 1h, 6h, 24h, 7d, 30d), action (type d'action exact ou préfixe avec * — ex: sso.*, member.invite)
POST/inviteadmin+10 req / 15 min par tenant

Envoie une invitation par email à un nouveau membre. Le destinataire recevra un lien pour rejoindre le workspace. Si l'utilisateur possède déjà un compte, il sera directement ajouté. Les champs profil (prénom, nom, poste) sont optionnels.

GET/assets?page=0&q=&filter=member+60 req / h par tenant

Liste les assets avec pagination, recherche full-text et filtrage par type. La recherche porte sur le hostname, l'adresse IP, le domaine et le nom. Les types de filtre correspondent aux catégories OCSF (server, workstation, mobile, etc.).

Params: page (number, default 0), q (recherche texte), filter (types séparés par virgule, ex: server,workstation)
GET/assets/{id}member+120 req / h par tenant

Récupère les détails complets d'un asset : système d'exploitation, interfaces réseau, agents de sécurité installés (EDR, backup, etc.), logiciels, vulnérabilités connues et métadonnées matérielles.

DELETE/assets/{id}admin+5 req / h par tenant

Supprime définitivement un asset et toutes ses données associées (interfaces réseau, agents, logiciels, vulnérabilités). Cette action est irréversible et génère une entrée dans le journal d'audit.

POST/assets/importadmin+5 req / h par tenant

Importe des assets en masse depuis un fichier CSV via multipart/form-data. Le format du CSV dépend de la source sélectionnée. Les assets existants sont mis à jour par correspondance sur le hostname ou l'identifiant source. Retourne le nombre de lignes traitées, matchées et créées.

GET/assets/gapsmember+30 req / h par tenant

Analyse les écarts de couverture sécurité sur l'ensemble du parc : assets sans EDR, sans sauvegarde, sans conformité, etc. Retourne pour chaque type d'écart le nombre d'assets concernés et la liste détaillée.

GET/maturity/controlmember+30 req / h par tenant

Liste l'ensemble des contrôles de maturité cybersécurité avec leur statut actuel, commentaire personnalisé et date de dernière mise à jour. Les contrôles couvrent les domaines : gouvernance, protection, détection, réponse et récupération.

PATCH/maturity/controladmin+30 req / h par tenant

Met à jour le statut d'un contrôle de maturité. Les statuts possibles sont : todo (à faire), in_progress (en cours), done (terminé), na (non applicable). Chaque changement est historisé et tracé dans les journaux d'audit.

GET/maturity/control/history?controlId=XXXmember+60 req / h par tenant

Récupère l'historique complet des changements de statut d'un contrôle spécifique. Chaque entrée indique le statut, l'utilisateur ayant effectué la modification et la date. Utile pour les rapports d'audit et le suivi de progression.

Params: controlId (string, requis) — identifiant du contrôle
GET/extension/dashboardadmin+30 req / h par tenant

Récupère les données du tableau de bord de l'extension : histogramme des signalements sur 30 jours, top 10 des utilisateurs les plus actifs, top 10 des domaines signalés, et KPIs globaux (total signalements, vrais/faux positifs).

GET/extension/enrollment-keysadmin+30 req / h par tenant

Liste les clés d'enrôlement utilisées pour déployer l'extension via GPO, Intune ou MDM. Chaque clé affiche son label, le nombre d'installations actives, le quota maximum et son statut (active/révoquée/expirée). La valeur complète de la clé n'est jamais réaffichée.

POST/extension/enrollment-keysadmin+10 req / h par tenant

Crée une nouvelle clé d'enrôlement. La clé complète est retournée uniquement dans cette réponse — elle ne pourra plus être consultée ensuite. Vous pouvez définir un label descriptif, un quota d'installations maximum et une durée de validité en jours.

DELETE/extension/enrollment-keys/{id}admin+5 req / h par tenant

Révoque une clé d'enrôlement (suppression logique). Les installations existantes utilisant cette clé ne sont pas affectées, mais aucune nouvelle installation ne pourra l'utiliser. Génère une entrée dans le journal d'audit.

GET/extension/enrollmentsadmin+30 req / h par tenant

Liste toutes les installations de l'extension enrôlées dans le workspace. Pour chaque installation : identifiant unique, nom d'utilisateur du poste, navigateur, statut de connexion et date de dernier contact. Permet de surveiller le déploiement et détecter les postes inactifs.

GET/extension/policyadmin+30 req / h par tenant

Récupère la politique de whitelist appliquée à toutes les installations de l'extension. Contient la liste des domaines autorisés (non signalés comme phishing) et l'option de verrouillage qui empêche les utilisateurs de modifier leur whitelist locale.

POST/extension/policyadmin+10 req / h par tenant

Met à jour la politique de whitelist du tenant. Les domaines listés ne seront jamais signalés comme phishing par l'extension. Si lockWhitelist est activé, les utilisateurs ne peuvent pas ajouter de domaines à leur whitelist personnelle. Les changements sont propagés aux extensions lors de leur prochaine synchronisation.

GET/settingsadmin+30 req / h par tenant

Récupère la configuration actuelle du workspace : nom affiché, identifiant slug, liste des solutions activées (assets, maturity, extension, secrets) et date de création.

PATCH/settingsowner+10 req / h par tenant

Modifie les paramètres du workspace. Seul le propriétaire (owner) peut effectuer cette action. Permet de renommer le workspace ou d'activer/désactiver des solutions. Les solutions désactivées restent en base mais ne sont plus accessibles dans l'interface.

GET/api-keysadmin+30 req / h par tenant

Liste toutes les clés API du workspace. Pour des raisons de sécurité, seul le préfixe de chaque clé est affiché (les 8 premiers caractères). Inclut le rôle associé, le label, la date de dernière utilisation et le statut (active/révoquée/expirée).

GET/integrationsadmin+30 req / h par tenant

Liste les intégrations configurées pour le workspace avec leur statut de connexion (connected, disconnected, error) et la date de dernière synchronisation. Permet de vérifier l'état de santé des connecteurs avant un import ou une synchronisation.

GET/statusmember+12 req / min par IP

Endpoint de health check. Retourne un statut "ok" si l'API est opérationnelle. Ne nécessite pas d'authentification particulière — utile pour le monitoring, les sondes de disponibilité et le polling.

GET/status/history?days=7member+30 req / h par tenant

Récupère les statistiques de disponibilité et de latence de l'API sur les N derniers jours (défaut 7, max 30). Les données sont agrégées par heure : uptime %, latence moyenne, nombre de checks et erreurs. Alimenté automatiquement par un cron toutes les 5 minutes.

Params: days (number, 1–30, défaut 7)

Common Response Codes

200OK — Request succeeded
400Bad Request — Invalid input or parameters
401Unauthorized — Missing or invalid API key
403Forbidden — Insufficient role for this endpoint
404Not Found — Tenant or resource not found
429Too Many Requests — Rate limit exceeded
500Internal Error — Server-side error