📢 Retrouvez nous au salon Incyber 2026 - STAND F46-7A 📍à Lille 📅 du 31 mars au 2 avril
La nouvelle approche de la cyber résilience des sauvegardes
Se connecter
  • Fr
  • En
  • Solutions
    • À propos de nous
      • Pourquoi choisir Cybee ?
      • Sécurité des données
      • Récupération après cyberattaque
    • Nos plateformes
      • Sauvegarde Windows
      • Sauvegarde Linux
      • Plate-formes Cloud utilisées
    • Comprendre l'orchestrateur des sauvegardes et toutes ses fonctionnalités
  • Tarifs
  • Ressources
    • Ressources
      • Base de connaissances
      • Le blog
      • Livre blanc
    • Foire aux questions
      • Notre FAQ
    • Comprendre l'orchestrateur des sauvegardes et toutes ses fonctionnalités
  • Entreprise
    • Qui sommes nous ?
    • Contactez-nous
    • Partenariat
    • Comprendre l'orchestrateur des sauvegardes et toutes ses fonctionnalités
  • Contact
Cybee > documents > API > Utilisation des API

Généralités

  • Fonctionnement de Cybee avec le stockage immutable S3
  • CMDB : données et usages
  • La console Cybee
  • Le rôle majeur de l’orchestrateur
  • Cryptographie post-quantique des sauvegardes Cybee
  • Organisation des plans de sauvegarde Cybee
  • Principes fondamentaux de la déduplication dans Cybee
  • Présentation de Cybee

Console Cybee

  • La console Cybee

Restic

  • Les verrous exclusifs ou non des dépots
  • Les dernières versions du moteur Restic

Sauvegarde

  • Le rôle majeur de l’orchestrateur
  • Cryptographie post-quantique des sauvegardes Cybee
  • Organisation des plans de sauvegarde Cybee

API

  • Utilisation des API
View Categories

Utilisation des API

Cybee API – Vue d’ensemble #

  • Version OpenAPI : 3.1.0

  • Version Cybee API : 0.18.12

  • Auth :

    • Bearer Token

    • ou Authenticate via Web (PKCE)

Les APIs de Cybee sont organisées par domaines via les tags :

  • storage-account, storage-destination, storage-repository

  • plans-backup, plans-restore, plans-schedule

  • agents

  • cmdb

Domaine Storage – Comptes, destinations & repositories #

1. Storage Accounts (storage-account) #

Objectif du domaine #

Gérer les comptes de stockage (ex : compte S3, provider, credentials) qui serviront ensuite aux destinations et repositories.

Ressources principales #

  • StorageAccount

  • StorageAccountCreate

  • StorageAccountUpdate

  • Enum S3Provider (type de provider S3)

Endpoints #

Lister les comptes de stockage #

  • GET /storage/storage-account/

    • But : liste paginée de tous les comptes de stockage configurés.

    • Filtres (query) :

      • page, per_page, order_by

      • id (uuid)

      • name (string)

      • provider (S3Provider)

    • Réponse : Page_StorageAccount_ (pagination + items).

Créer un compte de stockage #

  • POST /storage/storage-account/

    • But : créer un nouveau compte de stockage (credentials, endpoint, provider…).

    • Body : StorageAccountCreate

    • Réponse : 204 No Content si OK.

Récupérer un compte de stockage #

  • GET /storage/storage-account/{storage_account_id}/

    • But : récupérer le détail d’un compte (provider, nom, etc.).

    • Path : storage_account_id (uuid)

    • Réponse : StorageAccount

Mettre à jour un compte de stockage #

  • PUT /storage/storage-account/{storage_account_id}/

    • But : modifier un compte existant.

    • Path : storage_account_id (uuid)

    • Body : StorageAccountUpdate

    • Réponse : 204 No Content

Supprimer un compte de stockage #

  • DELETE /storage/storage-account/{storage_account_id}/

    • But : supprimer / désactiver un compte de stockage.

    • Path : storage_account_id (uuid)

    • Réponse : 204 No Content


2. Storage Destinations (storage-destination) #

Objectif du domaine #

Définir les destinations de stockage (dossiers / préfixes S3, base paths…) rattachées à un StorageAccount.
C’est là qu’on précise où les repos sont physiquement stockés.

Ressources principales #

  • StorageDestination

  • StorageDestinationCreate

  • StorageDestinationUpdate

Endpoints #

Lister les destinations #

  • GET /storage/storage-destination/

    • Filtres :

      • page, per_page, order_by

      • id (uuid)

      • name (NonEmptyStr)

      • base_path (NonEmptyStr)

      • storage_account_id (uuid)

    • Réponse : Page_StorageDestination_

Créer une destination #

  • POST /storage/storage-destination/

    • Body : StorageDestinationCreate

    • Réponse : 200 avec un StorageDestination créé.

Lire / modifier / supprimer une destination #

  • GET /storage/storage-destination/{storage_destination_id}/ → StorageDestination

  • PATCH /storage/storage-destination/{storage_destination_id}/

    • Body : StorageDestinationUpdate

    • Réponse : 204

  • DELETE /storage/storage-destination/{storage_destination_id}/

    • Réponse : 204


3. Storage Repositories (storage-repository) #

Objectif du domaine #

Gérer les repositories Restic qui servent de backend pour les plans de sauvegarde / restauration.

Ressources principales #

  • Repository

  • RepositoryCreate

  • RepositoryUpdate

  • RepositoryMaintenance

  • Enums : RepositoryStatusEnum, ResticVersionEnum, MaintenanceType

Endpoints #

Lister les repositories #

  • GET /storage/repository/

    • Filtres :

      • page, per_page, order_by

      • id, name, slug

      • status (RepositoryStatusEnum)

      • storage_destination_id (uuid)

      • version (ResticVersionEnum)

    • Réponse : Page_Repository_

Créer un repository #

  • POST /storage/repository/

    • Body : RepositoryCreate

    • Réponse : 204

Lire / modifier / supprimer un repository #

  • GET /storage/repository/{repository_id}/ → Repository

  • PATCH /storage/repository/{repository_id}/

    • Body : RepositoryUpdate

    • Réponse : 204

  • DELETE /storage/repository/{repository_id}/ → 204

Maintenance d’un repository #

  • GET /storage/repository/{repository_id}/maintenance/

    • But : lire le paramétrage de maintenance (check / prune, planning, etc.).

    • Réponse : RepositoryMaintenance

  • POST /storage/repository/{repository_id}/maintenance/{maintenance_type}/

    • But : créer ou modifier la config de maintenance pour un type donné.

    • maintenance_type : enum MaintenanceType (check ou prune)

    • Body : RepositoryMaintenanceCreateUpdate

    • Réponse : RepositoryMaintenance

  • DELETE /storage/repository/{repository_id}/maintenance/{maintenance_type}/

    • But : désactiver / supprimer la maintenance pour ce type.

    • Réponse : 204

  • GET /storage/repository/{repository_id}/maintenance/{maintenance_type}/execute/

    • But : lancer manuellement la maintenance (check ou prune) sur ce repo.

    • Réponse : 200 (corps vide ou minimal).


Domaine Plans de sauvegarde (plans-backup) #

Ce domaine couvre les plans de sauvegarde Restic (image & fichiers), leur exécution, leur historique, et leur association à des agents / schedules.

1. Historique global des sauvegardes #

Lister tout l’historique des sauvegardes #

  • GET /plan/backup/history/

    • Liste paginée des exécutions de plans de backup (tous types).

    • Filtres : id, plan_id, repository_id, agent_id, status (PlanStatus), finished_at.

    • Réponse : Page_BackupPlanRun_ (items de type BackupPlanRun).

Lister uniquement les dernières exécutions #

  • GET /plan/backup/history/latest/

    • Même filtres, mais ne retourne que la dernière exécution par plan.


2. Plans de sauvegarde Image #

Lister les plans d’image #

  • GET /plan/backup/image/

    • But : récupérer les plans de sauvegarde image configurés.

    • Filtres :

      • id, name, repo_id (uuid)

      • schedule_enabled (bool)

      • linked_agents_contains (liste d’agent_id)

    • Réponse : Page_ImageBackupPlan_

    • Les items contiennent notamment :

      • config : options Restic (sans source_paths, car l’image utilise extension.partitions)

      • extension.partitions : partitions disque à sauvegarder

      • retention_config : stratégie de rétention

      • schedule_enabled, schedule_configs

      • affected_agents, etc. (voir description détaillée dans l’OpenAPI).

Créer un plan d’image #

  • POST /plan/backup/image/

    • Body : ImageBackupPlanCreate

    • Points importants :

      • name (obligatoire)

      • repo_id (obligatoire)

      • config (ResticBackup, sans source_paths)

      • extension.partitions obligatoire (cartographie des partitions)

      • schedule_enabled / schedule_config_id

      • scripts pre_script / post_script possibles.

    • Réponse : 204

Lire / mettre à jour / supprimer un plan d’image #

  • GET /plan/backup/image/{plan_id}/ → ImageBackupPlan

  • PUT /plan/backup/image/{plan_id}/

    • Body : ImageBackupPlanUpdate (tous champs optionnels, update partiel).

    • Attention : si config fourni → toujours sans source_paths.

    • Réponse : 204

  • DELETE /plan/backup/image/{plan_id}/ → 204

Exécuter un plan d’image #

  • GET /plan/backup/image/{plan_id}/execute/

    • Lancement d’une exécution du plan.

    • Réponse : 202 Accepted (tâche asynchrone).

Historique d’un plan d’image #

  • GET /plan/backup/image/{plan_id}/history/

    • Historique paginé des exécutions pour ce plan uniquement.

    • Réponse : Page_BackupPlanRun_.


3. Plans de sauvegarde Fichiers #

Lister les plans fichier #

  • GET /plan/backup/file/

    • Filtres similaires à l’image : id, name, repo_id, schedule_enabled, linked_agents_contains.

    • Réponse : Page_FileBackupPlan_.

    • Différence clé : config.source_paths obligatoire (un ou plusieurs chemins absolus).

Créer un plan fichier #

  • POST /plan/backup/file/

    • Body : FileBackupPlanCreate

    • Obligations :

      • name, repo_id

      • config.source_paths (chemins absolus)

      • exclusions possibles : exclude, iexclude, exclude_caches, exclude_if_present, exclude_larger_than

      • scripts pre_script / post_script.

    • Réponse : 204

Lire / mettre à jour / supprimer un plan fichier #

  • GET /plan/backup/file/{plan_id}/ → FileBackupPlan

  • PUT /plan/backup/file/{plan_id}/

    • Body : FileBackupPlanUpdate

    • Si config fourni → doit contenir source_paths et chemins absolus.

    • Réponse : 204

  • DELETE /plan/backup/file/{plan_id}/ → 204

Exécuter un plan fichier #

  • GET /plan/backup/file/{plan_id}/execute/

    • Lance le plan manuellement.

    • Réponse : 202 Accepted.

Historique d’un plan fichier #

  • GET /plan/backup/file/{plan_id}/history/

    • Historique paginé des exécutions.

    • Réponse : Page_BackupPlanRun_.


4. Assignation de schedules & agents à un plan (backup) #

Ces endpoints sont génériques pour tout plan de backup (image ou fichier), identifiés par plan_id.

Associer / retirer un schedule #

  • POST /plan/backup/{plan_id}/assign-schedule/{schedule_id}/

    • Associe un calendrier d’exécution à un plan.

    • Réponse : 204.

  • POST /plan/backup/{plan_id}/remove-schedule/{schedule_id}/

    • Retire le calendrier d’un plan.

    • Réponse : 204.

Associer / retirer un agent #

  • POST /plan/backup/{plan_id}/assign-agent/{agent_id}/

    • Lie un agent (machine) à un plan de backup.

    • Réponse : 204.

  • POST /plan/backup/{plan_id}/remove-agent/{agent_id}/

    • Délie l’agent du plan.

    • Réponse : 204.


Domaine Plans de restauration (plans-restore) #

Miroir fonctionnel des plans de sauvegarde, mais pour la restauration (image & fichiers).

1. Historique global des restaurations #

  • GET /plan/restore/history/

    • Historique global des exécutions de plans de restore.

    • Filtres : id, plan_id, repository_id, agent_id, status, finished_at.

    • Réponse : Page_RestorePlanRun_.

  • GET /plan/restore/history/latest/

    • Même chose, mais uniquement la dernière exécution par plan.


2. Plans de restauration Image #

  • GET /plan/restore/image/ — lister (Page_ImageRestorePlan_)

  • POST /plan/restore/image/ — créer (ImageRestorePlanCreate)

  • GET /plan/restore/image/{plan_id}/ — lire (ImageRestorePlan)

  • PUT /plan/restore/image/{plan_id}/ — mettre à jour (ImageRestorePlanUpdate)

  • DELETE /plan/restore/image/{plan_id}/ — supprimer

  • GET /plan/restore/image/{plan_id}/execute/ — exécuter (réponse 202)

  • GET /plan/restore/image/{plan_id}/history/ — historique (Page_RestorePlanRun_)


3. Plans de restauration Fichiers #

  • GET /plan/restore/file/ — lister (Page_FileRestorePlan_)

  • POST /plan/restore/file/ — créer (FileRestorePlanCreate)

  • GET /plan/restore/file/{plan_id}/ — lire (FileRestorePlan)

  • PUT /plan/restore/file/{plan_id}/ — mettre à jour (FileRestorePlanUpdate)

  • DELETE /plan/restore/file/{plan_id}/ — supprimer

  • GET /plan/restore/file/{plan_id}/execute/ — exécuter (réponse 202)

  • GET /plan/restore/file/{plan_id}/history/ — historique (Page_RestorePlanRun_)


4. Assignation de schedules & agents à un plan (restore) #

Même logique que pour les backups, mais pour les plans de restore.

Schedules #

  • POST /plan/restore/{plan_id}/assign-schedule/{schedule_id}/

  • POST /plan/restore/{plan_id}/remove-schedule/{schedule_id}/

Agents #

  • POST /plan/restore/{plan_id}/assign-agent/{agent_id}/

  • POST /plan/restore/{plan_id}/remove-agent/{agent_id}/

Tous retournent 204 si succès.


Domaine Schedules de plan (plans-schedule) #

Gestion des plannings (cron) réutilisables pour plusieurs plans.

Lister les schedules #

  • GET /plan/schedule/schedule/

    • Filtres :

      • id (uuid)

      • enabled (bool)

    • Réponse : Page_Scheduling_.

Créer un schedule #

  • POST /plan/schedule/schedule/

    • Body : CreateScheduling

      • cron_calendar (CronCalendar) :

        • minute, hour, day_of_month, month_of_year, day_of_week?

        • timezone (défaut UTC)

      • enabled (bool, défaut false)

    • Réponse : Scheduling.

Modifier / supprimer un schedule #

  • PUT /plan/schedule/schedule/{schedule_id}/

    • Body : UpdateScheduling

    • Réponse : 204

  • DELETE /plan/schedule/schedule/{schedule_id}/

    • Réponse : 204


Domaine Agents (agents) #

Gère les agents installés sur les machines (clients Cybee) et leur approbation.

1. Agents enregistrés #

Lister les agents #

  • GET /agent/

    • But : liste des agents connus et enregistrés.

    • Filtres (plusieurs valeurs possibles par champ, combinées par OR) :

      • id (array[uuid])

      • machine_id (array[NonEmptyStr])

      • custom_name (array[NonEmptyStr])

      • host_name (array[NonEmptyStr])

      • online (bool)

    • Réponse : Page_AgentInfo_

      • Items de type AgentInfo (id, machine_id, host_name, custom_name, online, approved_at, last_seen, timestamps).

Mettre à jour / supprimer un agent #

  • PUT /agent/{agent_id}/

    • Body : AgentUpdate (par ex. custom_name)

    • Réponse : 200 (corps peu ou pas documenté).

  • DELETE /agent/{agent_id}/

    • Réponse : 200.

Approuver un agent #

  • POST /agent/{agent_id}/approve/

    • But : marquer un agent comme approuvé pour utilisation.

    • Réponse : 204.


2. Agents non enregistrés #

Lister les agents non enregistrés #

  • GET /agent/unregistered/

    • But : lister les agents vus par le système mais non encore enregistrés / approuvés.

    • Pagination standard : page, per_page, order_by.

    • Réponse : Page_UnregisteredAgentInfo_.


Domaine CMDB (cmdb) #

Le CMDB centralise les informations machines remontées par les agents (matériel, OS, réseau, etc.) ainsi que leur historique.

1. Vue courante des machines #

Lister les machines CMDB #

  • GET /cmdb/machines/

    • But : liste des machines et de leurs infos actuelles.

    • Filtres :

      • machine_id (NonEmptyStr)

    • Réponse : Page_Machine_

    • Champs temporels pour chaque machine :

      • created_at : date d’apparition dans le système

      • changed_at : dernière modification de l’info machine

      • updated_at : dernier contact avec la machine


2. Historique des machines #

Lister l’historique CMDB #

  • GET /cmdb/machines/historical/

    • But : liste historique des états de machines.

    • Filtres :

      • machine_id (NonEmptyStr)

    • Réponse : Page_HistoricalMachine_

    • Interprétation des dates :

      • started_at : première fois où ce snapshot a été observé

      • updated_at : dernière fois où ce snapshot est encore valide
        → Quand la machine change, un nouveau snapshot est créé, l’ancien n’est plus mis à jour.

 

Sommaire
  • Cybee API – Vue d’ensemble
  • Domaine Storage – Comptes, destinations & repositories
    • 1. Storage Accounts (storage-account)
      • Objectif du domaine
      • Ressources principales
      • Endpoints
        • Lister les comptes de stockage
        • Créer un compte de stockage
        • Récupérer un compte de stockage
        • Mettre à jour un compte de stockage
        • Supprimer un compte de stockage
    • 2. Storage Destinations (storage-destination)
      • Objectif du domaine
      • Ressources principales
      • Endpoints
        • Lister les destinations
        • Créer une destination
        • Lire / modifier / supprimer une destination
    • 3. Storage Repositories (storage-repository)
      • Objectif du domaine
      • Ressources principales
      • Endpoints
        • Lister les repositories
        • Créer un repository
        • Lire / modifier / supprimer un repository
        • Maintenance d’un repository
  • Domaine Plans de sauvegarde (plans-backup)
    • 1. Historique global des sauvegardes
      • Lister tout l’historique des sauvegardes
      • Lister uniquement les dernières exécutions
    • 2. Plans de sauvegarde Image
      • Lister les plans d’image
      • Créer un plan d’image
      • Lire / mettre à jour / supprimer un plan d’image
      • Exécuter un plan d’image
      • Historique d’un plan d’image
    • 3. Plans de sauvegarde Fichiers
      • Lister les plans fichier
      • Créer un plan fichier
      • Lire / mettre à jour / supprimer un plan fichier
      • Exécuter un plan fichier
      • Historique d’un plan fichier
    • 4. Assignation de schedules & agents à un plan (backup)
      • Associer / retirer un schedule
      • Associer / retirer un agent
  • Domaine Plans de restauration (plans-restore)
    • 1. Historique global des restaurations
    • 2. Plans de restauration Image
    • 3. Plans de restauration Fichiers
    • 4. Assignation de schedules & agents à un plan (restore)
      • Schedules
      • Agents
  • Domaine Schedules de plan (plans-schedule)
    • Lister les schedules
    • Créer un schedule
    • Modifier / supprimer un schedule
  • Domaine Agents (agents)
    • 1. Agents enregistrés
      • Lister les agents
      • Mettre à jour / supprimer un agent
      • Approuver un agent
    • 2. Agents non enregistrés
      • Lister les agents non enregistrés
  • Domaine CMDB (cmdb)
    • 1. Vue courante des machines
      • Lister les machines CMDB
    • 2. Historique des machines
      • Lister l’historique CMDB
Cybee
Cybee, la nouvelle approche de la
cyber-résilience de la sauvegarde Cloud
Navigation
  • Solutions
    • Pourquoi choisir Cybee ?
    • Récupération après cyberattaque
    • Sécurité des données
    • Sauvegarde Windows
    • Sauvegarde Linux
    • Plate-formes utilisées
  • Ressources
    • La faq
    • Les livres blanc
    • Le blog
  • Entreprise
    • Qui sommes nous ?
    • Contactez-nous
    • Partenariat
© 2026 Cybee - Tous droits réservés
  • Politique de confidentialité
  • Mentions légales
Gérer le consentement
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
L’accès ou le stockage technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}