POST /v1/organizations/{org_id}/projects/{id}/hors-ligne/imports
Importe une collecte de l’agent en mode hors ligne, ou un lot de collectes réunies par un relais : le fichier .twa produit par techwatchalert-agent hors-ligne collecter ou regrouper, envoyé tel quel. Pensé pour une chaîne de transfert automatisée (sortie de diode, sas).
POST /api/v1/organizations/{org_id}/projects/{project_id}/hors-ligne/imports?fichier=lot.twaAuthorization: Bearer twa_votre_cle_iciContent-Type: application/json
{ …le fichier .twa tel quel… }| Paramètre | Où | Description |
|---|---|---|
org_id |
chemin | Organisation de la clé |
project_id |
chemin | Projet des machines (celui du fichier d’enrôlement) |
fichier |
requête, facultatif | Nom du fichier, gardé dans l’historique des imports (255 caractères au plus) |
Le corps fait 64 Mio au plus (au-delà, 413). Chaque collecte est vérifiée puis importée à part : signature de l’agent, chiffrement, organisation et projet, numéro de séquence (une collecte déjà importée ou plus ancienne que la dernière est refusée), fraîcheur (30 jours au plus), taille. Une collecte refusée n’empêche pas les autres.
curl -X POST "https://app.techwatchalert.com/api/v1/organizations/$ORG_ID/projects/$PROJECT_ID/hors-ligne/imports?fichier=lot.twa" \ -H "Authorization: Bearer $TWA_API_KEY" -H "Content-Type: application/json" \ --data-binary @lot.twaRéponse 201 Created
Section intitulée « Réponse 201 Created »{ "id": "018e8888-0000-7000-8000-0000000000a1", "recu_le": "2026-10-25T08:30:00Z", "par_nom": null, "via": "api", "fichier": "lot.twa", "taille": 48213, "type": "lot", "importees": 1, "refusees": 1, "details": [ { "statut": "importee", "machine": "SCADA-01", "identifiant": "4c4c4544-0058-3010", "sequence": 12, "cree_le": "2026-10-24T17:02:11Z", "machine_id": "018e8888-0000-7000-8000-000000000031", "logiciels": 214, "mises_a_jour": 9, "regles": 168 }, { "statut": "refusee", "machine": "HMI-02", "identifiant": "4c4c4544-0042-5a10", "sequence": 7, "cree_le": "2026-10-24T17:05:40Z", "raison": "rejeu", "message": "Collecte n° 7 déjà importée ou plus ancienne que la dernière (n° 7)." } ]}raison d’un refus : format, taille, organisation, destinataire (chiffrée pour une autre clé), perimee, future, signature, rejeu, revoque, agent_inconnu, jeton, offre, quota, dechiffrement, contenu. Le guide dit que faire dans chaque cas.
| Code | Cas |
|---|---|
403 |
Clé sans le droit hors-ligne, ou projet hors de la restriction de la clé |
404 |
Projet inconnu dans cette organisation |
413 |
Fichier de plus de 64 Mio |
422 |
Ce n’est pas un fichier hors ligne importable (illisible, lot vide, fichier d’enrôlement ou catalogue) |
Catalogue signé : GET …/hors-ligne/catalogue
Section intitulée « Catalogue signé : GET …/hors-ligne/catalogue »curl "https://app.techwatchalert.com/api/v1/organizations/$ORG_ID/projects/$PROJECT_ID/hors-ligne/catalogue" \ -H "Authorization: Bearer $TWA_API_KEY" -o catalogue.twaRend le catalogue de conformité du niveau de l’organisation, signé par TechWatchAlert, à importer sur les machines (techwatchalert-agent hors-ligne catalogue --fichier catalogue.twa). Lisible avec le droit hors-ligne ou une clé sans restriction. 409 si aucune règle n’est disponible.
Le fichier d’enrôlement, qui contient un jeton, ne se télécharge que depuis l’interface, par un administrateur du projet.