Projects

API de collecte. Ce point d'entrée permet d'initialiser et de gérer un projet de versement.

Création d'un projet :

  • une requête unique, avec un 'body' contenant toutes les informations au format JSON :
  • ArchivalAgencyIdentifier
  • TransferringAgencyIdentifier
  • OriginatingAgencyIdentifier
  • SubmissionAgencyIdentifier
  • MessageIdentifier
  • ArchivalAgreement
  • unitUp
  • Comment
  • LegalStatus
  • Name
post
  • request body : JSON object
  • response : JSON of saved project / HTTP CODE 200
put
  • request body : JSON object
  • response : JSON of saved project / HTTP CODE 200
get
  • request body : JSON object
  • response : JSON of saved project / HTTP CODE 200

API de collecte. Ce point d'entrée permet de supprimer un projet.

delete
post
  • request body : JSON object
  • response : JSON of saved transaction / HTTP CODE 200
post

Permet de soumettre un ensemble de binaire au format Zip. L'arborescence est rattachée à une transaction auto-générée dont l'identifiant est retourné à l'appelant. Optionnellement, le Zip peut contenir un fichier "metadata.csv" ou "metadata.jsonl" décrivant l'ensemble des métadonnées de l'arborescence.

Il est à noter que dans le cas d'un fichier de métadonnées au format JSONL (metadata.jsonl), la sélection des métadonnées peut se faire uniquement via le champ File ou via un sélecteur (champ Selector), limité à la clé #uploadFile.

Attention : Cette API est alpha / expérimentale.

Transactions

put
  • request body : JSON object
  • response : JSON of saved transaction / HTTP CODE 200
get

Permet de retourner la liste des unités archivistique associés à l'identifiant de la transaction

put

Permet de mettre à jour les métadonnées à partir d'un fichier CSV en entrée.

/!\ Dépréciée: Remplacée par l'API PUT /collect-external/v1/transactions/{id}/units/metadata/csv

Permissions requises:

  • transaction:id:units:update
put

Permet de mettre à jour les métadonnées à partir d'un fichier de métadonnées CSV en entrée.

Attention: Le fichier CSV doit être séparé par des point-virgules (;), et sans lignes vides.

NB. Le nombre de lignes du fichier de métadonnées CSV en entrée doit rester raisonnable, idéalement pas plus de 1000 par appel.

Important : L'API est synchrone / bloquante, et peut prendre quelques instants.

Permissions requises:

  • transaction:id:units:metadata:csv:update
put

Permet de mettre à jour les métadonnées à partir d'un fichier de métadonnées JSONL (JSON-Lines) en entrée.

Chaque ligne cible une unité archivistique de la transaction soit via le champ File qui sélectionne l'unité d'archives par son chemin dans le zip au format "Dossier/Sous-Dossier/Fichier.ext"), soit via un ou plusieurs sélecteurs libres (chaine de type "keyword", booléen, nombre), via le champ Selector.

La mise à jour des métadonnées se fait au niveau des champs "racines" (de premier niveau), et se traduit par :

  • l'insertion du champ, si celui ci n'existe pas ;
  • le remplacement du champ (et de toute son arborescence), si le champ existe déjà ;
  • la suppression du champ si celui-ci pour valeur null.

Pour modifier un ou plusieurs champs feuilles et/ou intermédiaires, il convient de spécifier la valeur du champ racine parent. Ex. Pour modifier la StartDate d'une règle d'accès #management.AccessRule.Rules.StartDate, il faut spécifier la nouvelle valeur pour tout le champ racine #management.

NB. Les règles de gestion peuvent définir des StartDate, mais ne peuvent définir de EndDate (calculées par Vitam lors du versement de la transaction).

NB. Les champs Vitam #management et #history peuvent être spécifiés pour la mise à jour des métadonnées de gestion et historisées. Les autres champs internes à Vitam (ex. #version, #originating_agency...) ne sont, quant-à eux, pas modifiables.

NB. Le nombre de lignes du fichier de métadonnées JSONL (JSON-Lines) en entrée doit rester raisonnable, idéalement pas plus de 1000 par appel. Il est limité à un seuil maximum de 100 000.

Important : L'API est synchrone / bloquante, et peut prendre quelques instants.

Important : Le comportement en cas de sélecteur en doublon est non-supporté / non-déterminé.

Permissions requises:

  • transaction:id:units:metadata:jsonl:update
post

Mise à jour unitaire des métadonnées descriptives de plusieurs unités archivistiques de la transaction.

La requête utilise le langage de requête DSL de type mise à jour unitaire de masse (BULK UPDATE) de Vitam en entrée.

Le nombre de requêtes unitaires doit rester raisonnable, idéalement pas plus de 1000 par appel. Il est limité à un seuil maximum de 100 000 par défaut. Ce seuil peut être redéfini dans la requête via le paramètre threshold.

Important : L'API est synchrone / bloquante, et peut prendre quelques instants.

Permissions requises:

  • transaction:id:units:bulk:update
get

API pour accéder aux Unités d'archives liées à une transaction avec leurs règles de gestion héritées . La requête utilise le langage de requête DSL de Vitam en entrée et retourne une liste d'Unités d'archives avec leurs règles de gestion selon le DSL Vitam en cas de succès.

Permissions requises:

  • transaction:unitsWithInheritedRules:read
post

Permet de fermer une transaction

post

Permet de générer un SIP et l'envoyer a Vitam (Ingest)

API de collecte. Ce point d'entrée permet de supprimer une transaction.

get
delete
post

Permet de soumettre un ensemble de binaire au format Zip. Optionnellement, le Zip peut contenir un fichier "metadata.csv" ou "metadata.jsonl" décrivant l'ensemble des métadonnées de l'arborescence.

Il est à noter que dans le cas d'un fichier de métadonnées au format JSONL (metadata.jsonl), la sélection des métadonnées peut se faire uniquement via le champ File ou via un sélecteur (champ Selector), limité à la clé #uploadFile.

Units

API de collecte. Ce point d'entrée permet de gérer une unité archivistique et les groupe d'objets.

get

Permet de retourner une unité archivistique par son id

post

Permet de rajouter un groupe d'objets

get

Permet de télécharger un binaire

post

Permet de rajouter un binaire

Objects

API de collecte. Ce point d'entrée permet de gérer les groupe d'objets.

get

Permet de retourner une groupe d'objet par son id