> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/fr/helm/automate-and-integrate/api-sdk-documentation.md).

# Automatisez la gestion des SBOM et des vulnérabilités via le SDK de l’API Helm

## Présentation

L’ **Helm API** permet aux utilisateurs de gérer efficacement les SBOM, d’évaluer les vulnérabilités et de générer des rapports détaillés. Actuellement disponible sous la forme d’un **SDK Python** (basé sur protobuf), l’Helm API fournit des liaisons et des scripts d’aide pour faciliter les interactions avec l’API.

### Fonctionnalités clés

* Téléversez une ou plusieurs SBOM.
* Récupérez toutes les vulnérabilités ou filtrez-les pour vous concentrer sur les **vulnérabilités CISA KEV**.
* Générez des rapports **SBOM FDA** ou des rapports **VEX CycloneDX**.
* Identifiez les composants SBOM non associés dans vos données.

## Premiers pas

### Demander l’accès à l’API

1. [Contactez-nous](mailto:support@medcrypt.com) pour commencer à utiliser l’Helm API. L’Helm API est actuellement disponible sous la forme d’un SDK Python. Il est basé sur protobuf ; le SDK API fournit des liaisons Python ainsi que des scripts bash d’aide permettant d’appeler le SDK. La version actuelle du SDK API est la 2.125.2.
2. Si vous avez besoin de notre SDK C#, celui-ci est actuellement en version alpha. [Contactez-nous](mailto:support@medcrypt.com) si vous souhaitez y accéder.

### Télécharger le SDK de l’API Helm

1. Une fois que vous aurez reçu un e-mail vous accordant l’accès à l’Helm API, cliquez sur l’élément **Developers** dans la barre latérale.
2. Téléchargez le fichier ci-dessous.

{% file src="/files/ed451797dda36a5af464e2615141b5299195dccc" %}
Cliquez pour télécharger le SDK Python de l’Helm API, puis vérifiez la somme de contrôle.
{% endfile %}

3. Avant d’utiliser le fichier, vérifiez que la somme de contrôle MD5 est `6433eaceb2dc442e5e45a0cfe8912051`. Si vous ne savez pas comment procéder, [cette source](https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Checking-the-MD5-checksum-of-a-Downloaded-File.html) peut vous être utile.
4. Comme notre documentation API est hébergée sur GitBook, une page intermédiaire s’affichera indiquant que GitBook vérifie la sécurité de ce fichier — *malheureusement, cette page ne disparaît pas, mais le téléchargement du fichier se terminera correctement*.

### Authentification et configuration

Une fois l’accès à l’Helm API accordé, vous devrez télécharger notre SDK API, puis générer votre clé API pour effectuer des appels à l’API.

<details>

<summary>Étape 1 : Téléchargez le SDK API ci-dessus</summary>

Téléchargez le fichier depuis la section ci-dessus. L’Helm API comprend quatre scripts :

* `run_upload_sbom.sh`
* `run_unmatched_sbom_entries.sh`
* `run_vuln_list.sh`
* `run_product_version_report.sh`

</details>

<details>

<summary>Étape 2 : Installez les prérequis du SDK</summary>

1. Installez python3 : `pip3 install -r requirements.txt`. Cette commande installe les modules Python requis.
2. Vérifiez que toutes les dépendances Python répertoriées dans le fichier `requirements.txt` sont installées dans votre environnement.

</details>

<details>

<summary>Étape 3 : Authentifiez-vous dans l’interface utilisateur de Helm</summary>

1. Cliquez sur l’option **Developers** dans la barre latérale. Cette action affichera le **Developers** page.
2. Dans l’interface utilisateur de Helm, vous verrez un champ **E-mail** qui correspond à l’adresse e-mail Helm pour laquelle vous disposez d’un accès API. Elle constituera votre `client_id` que vous mettrez à jour dans les scripts lors des prochaines étapes.
3. Dans l’interface utilisateur de Helm, cliquez sur **Générer une clé API**. Cette clé constituera votre `client_secret` que vous mettrez à jour dans les scripts lors des prochaines étapes.

</details>

<details>

<summary>Étape 4 : Configurer les scripts du SDK</summary>

Après avoir décompressé ce fichier, vous trouverez un document `readme.txt` qui contient les étapes restantes pour exécuter l’API.

1. Depuis la ligne de commande, `cd` vers le répertoire `api/run`.
2. Mettez à jour les valeurs `client_id` et `client_secret` dans les scripts suivants : `run_upload_sbom.sh`, `run_unmatched_sbom_entries.sh`, `run_vuln_list.sh`, et `run_product_version_report.sh`.
3. Reportez-vous à la section correspondant à chaque script ci-dessous, puis mettez à jour les paramètres correspondants.

</details>

### Exécuter des scripts pour automatiser la gestion des SBOM et des vulnérabilités

<details>

<summary>Étape 1 : Exécuter un script pour téléverser un ou plusieurs SBOM</summary>

Vous pouvez téléverser un ou plusieurs SBOM à l’aide du script `run_upload_sbom.sh` . Les paramètres de ligne de commande suivants sont disponibles :

* `--client_id`: Il s’agit du nom d’utilisateur de votre compte API. Dans l’interface utilisateur de Helm, il s’agit du champ **Nom d’utilisateur API**.
* `--client_secret`: Il s’agit de votre clé API, que vous générerez dans l’interface utilisateur de Helm.
* `--sbom_files`: Il s’agit du chemin d’accès au fichier SBOM sur votre système.
* `--workspace_name`: Il s’agit du nom de l’espace de travail auquel le produit sera attribué. Ce paramètre est facultatif. S’il n’est pas renseigné, l’espace de travail par défaut sera utilisé.
* `--product_name`: Il s’agit du nom du produit pour lequel vous souhaitez créer une version.
* `--version:` Il s’agit de la version du produit pour laquelle vous souhaitez créer et téléverser un SBOM.
* `--createProdVers`: Si la version de votre produit n’existe pas encore, vous pouvez en créer une nouvelle pour un produit donné du SBOM.
* `--api_url` : Il s’agit de l’URL de l’API fournie par Medcrypt.
* `--file_type` : Il s’agit du type de fichier que vous allez importer. Ce paramètre doit être défini uniquement si vous importez une SBOM au format SPDX. Dans ce cas, définissez-le sur `SPDX`.

Après avoir défini vos paramètres, exécutez `./run_upload_sbom.sh`.

</details>

<details>

<summary>Étape 2 : Exécuter le script pour récupérer toutes les entrées de SBOM non correspondantes pour une version du produit</summary>

Vous pouvez récupérer toutes les entrées de SBOM non correspondantes pour un produit et une version donnés à l’aide du script `run_unmatched_sbom_entries.sh` . Les paramètres de ligne de commande suivants sont disponibles :

* `--client_id`: Il s’agit du nom d’utilisateur de votre compte API. Dans l’interface utilisateur de Helm, il s’agit du champ **Nom d’utilisateur API**.
* `--client_secret`: Il s’agit de votre clé API, que vous générerez dans l’interface utilisateur de Helm.
* `--workspace_name`: Il s’agit du nom de l’espace de travail auquel le produit sera attribué. Ce paramètre est facultatif. S’il n’est pas renseigné, l’espace de travail par défaut sera utilisé.
* `--product_name`: Il s’agit du nom du produit pour lequel vous souhaitez créer une version.
* `--version:` Il s’agit de la version du produit pour laquelle vous souhaitez créer et téléverser un SBOM.
* `--api-url` : Il s’agit de l’URL de l’API fournie par Medcrypt.

Après avoir défini vos paramètres, exécutez `./run_unmatched_sbom_entries.sh`.

</details>

<details>

<summary>Étape 3 : Exécuter le script pour récupérer toutes les vulnérabilités ou les vulnérabilités CISA KEV pour une version du produit</summary>

Vous pouvez récupérer toutes les vulnérabilités, ou uniquement celles de CISA KEV, pour un produit et une version donnés à l’aide du script `run_vuln_list.sh` . Les paramètres de ligne de commande suivants sont disponibles :

* `--client_id`: Il s’agit du nom d’utilisateur de votre compte API. Dans l’interface utilisateur de Helm, il s’agit du champ **Nom d’utilisateur API**.
* `--client_secret`: Il s’agit de votre clé API, que vous générerez dans l’interface utilisateur de Helm.
* `--workspace_name`: Il s’agit du nom de l’espace de travail auquel le produit sera attribué. Ce paramètre est facultatif. S’il n’est pas renseigné, l’espace de travail par défaut sera utilisé.
* `--product_name`: Il s’agit du nom du produit pour lequel vous souhaitez créer une version.
* `--version:` Il s’agit de la version du produit pour laquelle vous souhaitez créer et téléverser un SBOM.
* `--api-url` : Il s’agit de l’URL de l’API fournie par Medcrypt.
* `--start_date` : Date de début à partir de laquelle filtrer les vulnérabilités.
* `--end_date` : Date de fin jusqu’à laquelle filtrer les vulnérabilités.
* `--exploit_source` : Vous pouvez spécifier `CISA_KEV` pour récupérer uniquement les vulnérabilités figurant dans la liste CISA KEV. Si vous ne spécifiez pas cette valeur, toutes vos vulnérabilités seront récupérées. La valeur par défaut est UNDEFINED.

Après avoir défini vos paramètres, exécutez `./run_vuln_list.sh`.

</details>

<details>

<summary>Étape 4 : Exécuter le script pour générer un rapport sur une version du produit</summary>

Vous pouvez créer et télécharger une SBOM FDA ou un rapport VEX CycloneDX pour un produit et une version donnés à l’aide du script `run_product_version_report.sh` . Les paramètres de ligne de commande suivants sont disponibles :

* `--client_id`: Il s’agit du nom d’utilisateur de votre compte API. Dans l’interface utilisateur de Helm, il s’agit du champ **Nom d’utilisateur API**.
* `--client_secret`: Il s’agit de votre clé API, que vous générerez dans l’interface utilisateur de Helm.
* `--workspace_name`: Il s’agit du nom de l’espace de travail auquel le produit sera attribué. Ce paramètre est facultatif. S’il n’est pas renseigné, l’espace de travail par défaut sera utilisé.
* `--product_name`: Il s’agit du nom du produit pour lequel vous souhaitez créer une version.
* `--version:` Il s’agit de la version du produit pour laquelle vous souhaitez créer et téléverser un SBOM.
* `--api-url` : Il s’agit de l’URL de l’API fournie par Medcrypt.
* `--file_path` : Chemin d’accès où vous souhaitez enregistrer le rapport généré.
* `--report_type` : Spécifiez soit `FDA_EXCEL` soit `CDX_VEX` pour générer votre SBOM FDA au format Excel ou un rapport VEX CycloneDX.
* `--report_id`  : Identifiant unique du rapport VEX généré. Ce paramètre est facultatif. S’il n’est pas fourni, un identifiant unique par défaut sera généré et utilisé. Format d’identifiant par défaut : `UUID:workspace_name:product_name:product_version_name`.

Après avoir défini vos paramètres, exécutez `./run_product_version_report.sh`.

</details>

## Méthodes de l’API

L’API Helm fournit les méthodes suivantes :

* **listorganizations :** Récupère les organisations auxquelles l’utilisateur a accès.
* **listworkspacesforuser:** Cette commande répertorie les espaces de travail de l’organisation auxquels l’utilisateur a accès.
* **listorganizationproducts:** Récupère les produits d’une organisation donnée.
* **listorganizationproductversions:** Récupère les versions d’un produit donné pour cette organisation.
* **createorganizationproduct:** Crée un nouveau produit au sein de cette organisation avec le nom de produit fourni. L’utilisateur aura accès à ce produit.
* **createorganizationproductversions:** Crée une nouvelle version pour un produit sélectionné avec le nom de version fourni.
* **submitsbom:**
  * Téléverse une SBOM fournie dans le paramètre `--sbom_files` .
  * Permet à l’utilisateur de téléverser une SBOM pour un produit et une version existants.
  * Les utilisateurs peuvent créer un nouveau produit et une nouvelle version de produit, puis téléverser une SBOM pour cette nouvelle version.
* **listunmatchedsbomentries:** Cette commande répertorie toutes les entrées SBOM non appariées pour un produit et une version SBOM donnés.
* **listvulnerabilities:** Cette commande répertorie toutes les vulnérabilités pour un produit et une version SBOM donnés. Vous pouvez également filtrer les résultats à l’aide de `--exploit_source` pour n’afficher que les vulnérabilités CISA KEV, comme indiqué ci-dessous.
* **requestreport:** Cette commande demande la génération d’un rapport de version de produit. La génération du rapport est asynchrone et peut donc prendre un certain temps.
* **getreportrequeststate:** Cette commande vérifie l’état d’un rapport demandé.
* **getreportfile:** Une fois la demande de rapport terminée (report\_request\_state=4), le fichier du rapport peut être téléchargé.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/fr/helm/automate-and-integrate/api-sdk-documentation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
