Aller au contenu

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.twa
Authorization: Bearer twa_votre_cle_ici
Content-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.

Fenêtre de terminal
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.twa
{
"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)
Fenêtre de terminal
curl "https://app.techwatchalert.com/api/v1/organizations/$ORG_ID/projects/$PROJECT_ID/hors-ligne/catalogue" \
-H "Authorization: Bearer $TWA_API_KEY" -o catalogue.twa

Rend 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.