API-Vitam - Access API documentation version v1
https://api.vitam.gouv.fr/access-external/{version}
- version: required(v1)
Avertissements
Cette version d'API présente des fonctionnalités sous différents statuts :
- Supportées : rien n'est spécifié, la fonctionnalité ou la donnée est supportée
Pour le détail du modèle de chaque collection, se référer à la documentation du modèle de données.
Licence
Ce document est distribué sous les termes de la Licence Ouverte V2.0
API Access
L'API d'Accès propose les points d'entrées et les méthodes pour atteindre, requêter et récupérer les informations depuis les Units et les Objects.
Cette API est globalement reproduite dans tous les autres points d'accès lorsque l'accès à des Units et Objects est nécessaire. Les fonctionnalités offertes peuvent par contre varier (droit en modification, effacement, ...) selon le contexte.
API Access externe
Dans le projet Vitam, Les API externes supportent le POST-X-HTTP-OVERRIDE=GET. Les API internes ne supportent que le GET.
Units api
Units est le point d'entrée pour toutes les descriptions d'archives. Celles-ci contiennent les métadonnées de description et les métadonnées archivistiques (métadonnées de gestion).
Une Unit peut être de 3 types :
- "ingest" (unité archivistique classique),
- "holding" (unité archivistique d'arbre de positionnement)
- "filing" (unité archivistique de plan de classement). Les métadonnées de ces unités peuvent tout aussi bien décrire un dossier qu'un groupe d'objet lié. Les Units peuvent être organisées en arborescence et peuvent posséder :
- Plusieurs racines dans l'arborescence (Unit de plus haut niveau)
- Plusieurs parents directs (un dossier peut être rattaché à plusieurs dossiers)
Il s'agit d'une représentation dite de "graphe dirigé sans cycle" (DAG en Anglais pour "Directed Acyclic Graph").
Pour le model SEDA, il est équivalent à l'ArchiveUnit, notamment pour les parties Content et Management. Pour l'Isad(G) / EAD, il est équivalent à Description Unit.
Au plus, un seul groupe d'objets d'archives (Objects) est attaché à une Unit. Cela signifie que si une Unit doit avoir plus d'un groupe d'objets d'archive attaché, vous devez spécifier des sous-Units à l'Unit principale, chaque sous-Unit n'ayant qu'un groupe d'objets d'archives attaché. Un même groupe d'objets d'archives peut par contre être attaché à de multiples Units.
Aucun effacement n'est autorisé, ni aucune mise à jour complète (seules les mises à jours partielles sont autorisées via la commande POST via un update de masse). Les mises à jour des Unit doivent être réalisées via des mises à jour en masse, l'API d'update unitaire étant dépréciée.
Structuration des métadonnées
La structuration d'un Unit est la suivante :
{
"#id": "UnitId",
"#tenant": "tenantId",
"#version": 1,
"#unitType" : "HOLDING_UNIT (arbre), FILING_UNIT (Plan) ou INGEST (ArchiveUnit standard)"
//Métadonnées du content
"DescriptionLevel": "Fonds",
"Title": "titre",
"Description": "description du Unit",
"#Management": {
"StorageRule": {},
"AppraisalRule": {},
"AccessRule": {},
"DisseminationRule": {},
"ReuseRule": {},
"ClassificationRule": {},
"HoldRule": {},
"NeedAuthorization": false // Accès nécessitant une autorisation explicite
},
"#unitups": [ "unitParentId", "unitParentId"], // liste des parents immédiats
"#min": 1,
"#max": 1,
"#object": "objectId",
"#nbunits": 1, // Nombre de Unit fils
"#operations" : [ "id", "id" ], // liste des opérations auxquelles cette AU a participées
"#allunitsups": [ "unitParentId", "unitParentId"], // liste de tous les parents jusqu'au sommet
"#storage": { "#nbc": 2 } // information de stockage,
"#originating_agency": "originationAgencyId",
"#originating_agencies": [ "originationAgencyId" ],
"#operations" : [ "operationId" ] // liste des opérations auxquelles cette AU a participées
Objects api
/units/{idu}/objects est le point d'entrée pour :
- tous les groupes objets, qui contiennent les métadonnées techniques (nom des objets, format, type MIME...)
- tous les objets binaires (des fichiers) non binaires (des références à des objets d'archives physiques ou externes au système).
Un Groupe d'Objects peut posséder de 1 à N objets. Chaque objet a un usage et une version dans son groupe d'objet. Ces distinctions permettent de différencier des usages comme version de conservation, version de diffusion...
Il peut exister plusieurs versions de l'objet pour un même usage (pour l'original numérique notamment), au fur et à mesure du cycle de vie du Groupe d'Objects. Par exemple l'objet d'usage+version "BinaryMaster_1" est la version 1 de l'usage BinaryMaster, le "BinaryMaster_2" est la version 2 de l'usage BinaryMaster. Dans le modèle de données de la solution logicielle Vitam, cet usage correspond au champ "qualifier".
Pour le model SEDA, il est équivalent à un DataObjectGroup. Pour l'EAD, il est équivalent à un Digital Archive Object Group or Set.
Chaque Groupe d'Objets doit être attaché à au moins un parent Unit.
Seul l'accès est autorisé (GET/POST en override de GET).
Chaque Objet n'est lié qu'à un seul Groupe d'objets. Chaque Objet a un qualifier (spécifiable via #qualifiers dans le DSL pour l'accès métadonnées et X-Qualifier en Header pour l'accès aux objets binaires) :
- PhysicalMaster : il s'agit de l'original papier ou physique s'il existe
- BinaryMaster : il s'agit de l'original numérique s'il existe
- Dissemination : il s'agit d'une version adaptée à la diffusion via le réseau et l'usage dans des navigateurs
- Thumbnail : il s'agit d'une version adaptée à la diffusion dans une taille et une qualité correspondant à une vignette (utile lors de l'affichage d'une liste)
- TextContent : il s'agit d'une version ne contenant que le texte du document, sans la mise en forme (son usage est en prévision du futur, par exemple pour des opérations d'analyses sémantiques)
Ces qualifiers peuvent être utilisés dans une requête GET en conjonction avec le Header Accept: application/octet-stream pour accéder en lecture à un usage particulier.
Structuration des métadonnées
A noter: la structuration va changer dans la prochaine release
La structuration d'un Object est la suivante :
{
"#id": "ObjectId",
"#tenant": "tenantId",
//Métadonnées de l'Object
"FileInfo": {
"Filename": "filename",
"LastModified": "date",
"GPS": {}
},
"#qualifiers": [{
"qualifier": "PhysicalMaster",
"#nbc": 1,
"versions": [
{
"#id": "abcdef",
"DataObjectGroupId": "abcdef",
"DataObjectVersion": "PhysicalMaster_1",
"PhysicalDimensions": {},
"PhysicalId": {},
"xxx": "" // autres informations
}
]},
{
"qualifier": "BinaryMaster", // Version numérique
"#nbc": 1, // nombre de versions
"versions": [
{
"#id": "abcdef",
"#storage" : {// informations sur le stockage de l'objet}
"DataObjectGroupId": "abcdef",
"DataObjectVersion": "BinaryMaster_1",
"MessageDigest": "algorithme digest", // empreinte et algorithme d'empreinte de l'objet
"Algorithm": "SHA-512",
"FileInfo": {// informations du fichier},
"Size": 10, // taille de l'objet
"Uri": "Content/uri", // uri de l'objet
"FormatIdentification": {
"FormatLitteral": "format Literral",
"MimeType": "mimetype",
"FormatId": "pronomId"
},
"OtherMetadata": {
// autres métadonnées non classées
}
}
]
},
{
"qualifier": "Dissemination", // Version de diffusion
"#nbc": 1, // nombre de versions
"versions": [
{//idem à BinaryMaster}
]
},
{
"qualifier": "TextContent", // Contenu brut
"#nbc": 1, // nombre de versions
"versions": [
{//idem à BinaryMaster}
]
},
{
"qualifier": "Thumbnail", // Vignette
"#nbc": 1, // nombre de versions
"versions": [
{//idem à BinaryMaster}
]
}
],
"#unitups": [ "unitParentId", "unitParentId"],
"#nbobjects": 1, // Nombre de versions d'objets contenus pour tous les usages
"#storage": { "#nbc": 2 }, // information de stockage,
"#originating_agency": "originationAgencyId",
"#originating_agencies": [ "originationAgencyId" ],
"#operations" : [ "operationId" ] // liste des opérations auxquelles ce groupe d'objets a participées
}
Note : A l'avenir, à l'intérieur d'une version d'usage, et pour chaque version (pour les BinaryMaster notamment), un contexte sera ajouté à la structure de l'Object afin de pouvoir y introduire des données de contexte (version du référentiel Pronom par exemple...).
Dipexport api
/dipexport (en v1 ou en v2) sont les points d'entrée permettant l'export sous forme de DIP (paquet d'information diffusé ou Dissemination Information Package en anglais) d'une sélection d'unités archivistiques.
Important : Deux actions sont disponibles. La première permet de lancer un processus de génération d'un DIP. La deuxième permet de télécharger le fichier généré par le processus précédent, une fois terminé.
Champs d'application sur les Units
Les principes sont les suivants :
- Le POST peut être utilisé pour des opérations de mises à jour en masse. Il peut aussi être utilisé avec le header X-Http-Method-Override: GET pour réaliser un GET avec un BODY.
- Le PUT est utilisé pour réaliser un update partiel (déprécié), à partie de la release 16, le POST (massUpdate) doit être utilisé pour effectuer une mise à jour d'unités archivistiques.
- Pas de DELETE car ceci relève de l'élimination
- GET correspond à la recherche ou l'accès selon la présence d'un body ou non
- Un seul Object par Unit max
- Une requête depuis un Unit signifie recherche relative depuis celui-ci (roots = this)
- Accept: application/json signifie les métadonnées au format Json
- Accept: application/octet-stream signifie le retour du contenu binaire de l'Object
ArchiveUnits
API qui définit les requêtes pour accéder aux Unités d'archives. La requête utilise le langage de requête DSL de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
Requête qui retourne des résultats contenant des Unités d'archives. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès. Afin d'avoir une précision exacte sur le nombre de résultats de retournés, il faut utiliser la propriété "$track_total_hits : true" qui devrait être pré-autorisée en amont au niveau de la configuration.
Permissions requises:
- units:read
Requête qui déclanche la mise à jour de masse des métadonnées descriptives des unités archivistiques. Sans le Header, le point d'API est utilisé pour mettre à jour en masse les métadonnées descriptives des unités archivistiques. Possibilité de remplacer une chaîne de caractères par une autre vià l'opération $setregex.
Avec le Header, La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès. La requête utilise POST avec X-Http-Method-Override: GET Permissions requises:
- units:update
get /units
Requête qui retourne des résultats contenant des Unités d'archives. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès. Afin d'avoir une précision exacte sur le nombre de résultats de retournés, il faut utiliser la propriété "$track_total_hits : true" qui devrait être pré-autorisée en amont au niveau de la configuration.
Permissions requises:
- units:read
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
HTTP status code 200
Renvoie la liste des résultats d'Unités d'archives correspondant à la requête DSL
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $facetResults: (array of object)
Contient la resultat facet
Items: items
- name: required(string)
Example:
facetName
- buckets: required(array of any)
- name: required(string)
- $context: required(object)
Contient la requête DSL liée à la réponse
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
Examples:
-default-response:
{
"httpCode": 200,
"$hits": {
"total": 13,
"size": 3,
"offset": 10,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "titre" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#sector": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
},
{
"#id": "id2", "title": "titre 2", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id102", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
},
{
"#id": "id3", "title": "titre 3", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id103", "#type": "Image",
"#qualifiers": { "BinaryMaster": 3, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
-facet-response:
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"Title": "Biographie_du_ministre_du_commerce"
},
{
"Title": "Assemblée Parlementaire"
},
{
"Title": "BAD0431E2C5E80E5BD42D547A3ED59665555.odt"
},
{
"Title": "Pouvoir_executif"
},
{
"Title": "sous fonds 1 nouveau jeu de test"
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "Item",
"count": 50860
},
{
"value": "RecordGrp",
"count": 1398
},
{
"value": "File",
"count": 3
},
{
"value": "Fonds",
"count": 2
},
{
"value": "Subfonds",
"count": 2
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 405
Method Not Allowed, requested resource is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Internal Server Error, the server encountered an unexpected condition which prevented it from fulfilling the request
post /units
Requête qui déclanche la mise à jour de masse des métadonnées descriptives des unités archivistiques. Sans le Header, le point d'API est utilisé pour mettre à jour en masse les métadonnées descriptives des unités archivistiques. Possibilité de remplacer une chaîne de caractères par une autre vià l'opération $setregex.
Avec le Header, La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès. La requête utilise POST avec X-Http-Method-Override: GET Permissions requises:
- units:update
Headers
- X-Http-Method-Override: (GET)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Examples:
UnitsBatchUpdate:
{
"$roots": [],
"$query": [ { "$eq": { "#id": "{{guid}}" } }
],
"$action": [
{
"$setregex": {
"$target": "Title",
"$controlPattern": "Dessert placé",
"$updatePattern": "Dessert glacé"
}
}
]
}
BatchUpdateObject:
{
"$roots": [],
"$query": [
{
"$in": {
"#id": [
"MY-AU-GUID"
]
}
}
],
"$threshold": 10000,
"$action": [
{
"$set": {
"Gps": {
"GpsLatitude": "lat is here",
"GpsLongitude": "long is here"
}
}
}
]
}
BatchRemove:
{
"$roots": [],
"$query": [
{
"$in": {
"#id": [
"MY-AU-GUID"
]
}
}
],
"$threshold": 10000,
"$action": [
{
"$unset": [
"Description"
]
}
]
}
HTTP status code 200
OK, operation in success
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 202
Renvoie le statut de l'opération de mise à jour
Body
Media type: application/json
Type: any
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 405
Method Not Allowed, requested resource is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Renvoie le statut final de l'opération en KO
Body
Media type: application/json
Type: any
Requête qui déclenche la récupération de toutes les unités d'archives dans un Json Stream.
Permissions requises:
- units:stream
get /units/stream
Requête qui déclenche la récupération de toutes les unités d'archives dans un Json Stream.
Permissions requises:
- units:stream
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$gt": {
"#approximate_creation_date": "2022-01-01"
}
}
],
"$projection": {
"$fields": {
}
},
"$facets": [],
"$threshold": 500000
}
{
"$roots": [],
"$query": [
{
"$gt": {
"#approximate_creation_date": "2022-01-01"
}
}
],
"$projection": {
"$fields": {
}
},
"$facets": [],
"$threshold": 500000
}
HTTP status code 200
Renvoie la liste des résultats d'Unités d'archives correspondant à la requête DSL
Headers
- X-Units-Count: required(number)
nombre des unités archivestiques retournées dans le flux
Example:
141202
- X-Content-Length: required(number)
la taille du flux de données
Example:
13978998
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/octet-stream
Type: array of object
Items:
Examples:
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (31235)","Description":"Generated Archive Unit five three two one three","TransactedDate":"2018-02-01T17:36:35","#id":"aeaqaaaaaaga3nz4acpm4al7baut7qaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauhwmiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.037","#approximate_update_date":"2022-02-17T15:18:55.037"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (59325)","Description":"Generated Archive Unit five two three nine five","TransactedDate":"2018-02-01T17:36:52","#id":"aeaqaaaaaaga3nz4acpm4al7bauvo4yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baul2dyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.026","#approximate_update_date":"2022-02-17T15:18:55.026"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5580)","Description":"Generated Archive Unit zero eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausldyaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnaaaabq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.031","#approximate_update_date":"2022-02-17T15:18:55.031"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (70396)","Description":"Generated Archive Unit six nine three zero seven","TransactedDate":"2018-02-01T17:36:59","#id":"aeaqaaaaaaga3nz4acpm4al7bauwc6iaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunmjqaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.038","#approximate_update_date":"2022-02-17T15:18:55.038"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (65588)","Description":"Generated Archive Unit eight eight five five six","TransactedDate":"2018-02-01T17:36:55","#id":"aeaqaaaaaaga3nz4acpm4al7bauvzsyaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baumv2iaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.047","#approximate_update_date":"2022-02-17T15:18:55.047"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (78837)","Description":"Generated Archive Unit seven three eight eight seven","TransactedDate":"2018-02-01T17:37:03","#id":"aeaqaaaaaaga3nz4acpm4al7bauwqwaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauowvyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.034","#approximate_update_date":"2022-02-17T15:18:55.034"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (69248)","Description":"Generated Archive Unit eight four two nine six","TransactedDate":"2018-02-01T17:36:58","#id":"aeaqaaaaaaga3nz4acpm4al7bauwbdyaaaca","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunhryaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.048","#approximate_update_date":"2022-02-17T15:18:55.048"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49382)","Description":"Generated Archive Unit two eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqaaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.041","#approximate_update_date":"2022-02-17T15:18:55.041"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5584)","Description":"Generated Archive Unit four eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausleaaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnyaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49383)","Description":"Generated Archive Unit three eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (31235)","Description":"Generated Archive Unit five three two one three","TransactedDate":"2018-02-01T17:36:35","#id":"aeaqaaaaaaga3nz4acpm4al7baut7qaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauhwmiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.037","#approximate_update_date":"2022-02-17T15:18:55.037"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (59325)","Description":"Generated Archive Unit five two three nine five","TransactedDate":"2018-02-01T17:36:52","#id":"aeaqaaaaaaga3nz4acpm4al7bauvo4yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baul2dyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.026","#approximate_update_date":"2022-02-17T15:18:55.026"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5580)","Description":"Generated Archive Unit zero eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausldyaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnaaaabq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.031","#approximate_update_date":"2022-02-17T15:18:55.031"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (70396)","Description":"Generated Archive Unit six nine three zero seven","TransactedDate":"2018-02-01T17:36:59","#id":"aeaqaaaaaaga3nz4acpm4al7bauwc6iaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunmjqaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.038","#approximate_update_date":"2022-02-17T15:18:55.038"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (65588)","Description":"Generated Archive Unit eight eight five five six","TransactedDate":"2018-02-01T17:36:55","#id":"aeaqaaaaaaga3nz4acpm4al7bauvzsyaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baumv2iaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.047","#approximate_update_date":"2022-02-17T15:18:55.047"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (78837)","Description":"Generated Archive Unit seven three eight eight seven","TransactedDate":"2018-02-01T17:37:03","#id":"aeaqaaaaaaga3nz4acpm4al7bauwqwaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauowvyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.034","#approximate_update_date":"2022-02-17T15:18:55.034"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (69248)","Description":"Generated Archive Unit eight four two nine six","TransactedDate":"2018-02-01T17:36:58","#id":"aeaqaaaaaaga3nz4acpm4al7bauwbdyaaaca","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunhryaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.048","#approximate_update_date":"2022-02-17T15:18:55.048"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49382)","Description":"Generated Archive Unit two eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqaaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.041","#approximate_update_date":"2022-02-17T15:18:55.041"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5584)","Description":"Generated Archive Unit four eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausleaaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnyaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49383)","Description":"Generated Archive Unit three eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (31235)","Description":"Generated Archive Unit five three two one three","TransactedDate":"2018-02-01T17:36:35","#id":"aeaqaaaaaaga3nz4acpm4al7baut7qaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauhwmiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.037","#approximate_update_date":"2022-02-17T15:18:55.037"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (59325)","Description":"Generated Archive Unit five two three nine five","TransactedDate":"2018-02-01T17:36:52","#id":"aeaqaaaaaaga3nz4acpm4al7bauvo4yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baul2dyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.026","#approximate_update_date":"2022-02-17T15:18:55.026"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5580)","Description":"Generated Archive Unit zero eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausldyaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnaaaabq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.031","#approximate_update_date":"2022-02-17T15:18:55.031"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (70396)","Description":"Generated Archive Unit six nine three zero seven","TransactedDate":"2018-02-01T17:36:59","#id":"aeaqaaaaaaga3nz4acpm4al7bauwc6iaaada","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunmjqaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.038","#approximate_update_date":"2022-02-17T15:18:55.038"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (65588)","Description":"Generated Archive Unit eight eight five five six","TransactedDate":"2018-02-01T17:36:55","#id":"aeaqaaaaaaga3nz4acpm4al7bauvzsyaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baumv2iaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.047","#approximate_update_date":"2022-02-17T15:18:55.047"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (78837)","Description":"Generated Archive Unit seven three eight eight seven","TransactedDate":"2018-02-01T17:37:03","#id":"aeaqaaaaaaga3nz4acpm4al7bauwqwaaaaaq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauowvyaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.034","#approximate_update_date":"2022-02-17T15:18:55.034"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (69248)","Description":"Generated Archive Unit eight four two nine six","TransactedDate":"2018-02-01T17:36:58","#id":"aeaqaaaaaaga3nz4acpm4al7bauwbdyaaaca","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baunhryaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.048","#approximate_update_date":"2022-02-17T15:18:55.048"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49382)","Description":"Generated Archive Unit two eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqaaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.041","#approximate_update_date":"2022-02-17T15:18:55.041"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (5584)","Description":"Generated Archive Unit four eight five five","TransactedDate":"2018-02-01T17:36:18","#id":"aeaqaaaaaaga3nz4acpm4al7bausleaaaadq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7bauecnyaaaba","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
{"DescriptionLevel":"Item","Title":"Generated Archive Unit (49383)","Description":"Generated Archive Unit three eight three nine four","TransactedDate":"2018-02-01T17:36:47","#id":"aeaqaaaaaaga3nz4acpm4al7bauu63yaaaeq","#tenant":0,"#object":"aebaaaaaaaga3nz4acpm4al7baukjqiaaaaq","#unitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#min":1,"#max":2,"#allunitups":["aeaqaaaaaaga3nz4acpm4al7baurv2aaaaia"],"#management":{},"#unitType":"INGEST","#operations":["aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq"],"#opi":"aeeaaaaaacga3nz4acqz2al7basvuyiaaaaq","#originating_agency":"Service_producteur","#originating_agencies":["Service_producteur"],"#storage":{"strategyId":"default"},"#version":0,"#sedaVersion":"2.1","#approximate_creation_date":"2022-02-17T15:18:55.042","#approximate_update_date":"2022-02-17T15:18:55.042"}
HTTP status code 417
Expectation Failed, used in Validation when the required validation (X-Valid) is in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Internal Server Error, the server encountered an unexpected condition which prevented it from fulfilling the request
Requête qui déclenche la mise à jour de masse des métadonnées de gestion d'unités d'archives. La requête utilise un POJO spécifique pour effectuer la mise à jour des éléments de gestion.
Permissions requises:
- units:rules:update
post /units/rules
Requête qui déclenche la mise à jour de masse des métadonnées de gestion d'unités d'archives. La requête utilise un POJO spécifique pour effectuer la mise à jour des éléments de gestion.
Permissions requises:
- units:rules:update
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Example:
RulesUpdate:
{
"dslRequest": {
"$roots": [],
"$query": [ { "$eq": { "#id": "MY-AU-GUID" } } ],
"$threshold": 10000
},
"ruleActions": {
"add": [],
"update": [],
"delete": [
{
"HoldRule": {
"Rules": [
{
"Rule": "HOL-00001"
}
]
}
}
]
}
}
HTTP status code 202
Renvoie le statut de l'opération de mise à jour
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 500
Renvoie le statut final de l'opération en KO
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Short code as in RFC 7231 (Http Status Codes).
- code: required(string)
Vitam standard numerical code.
- context: required(string)
Type of the task.
- state: required(string)
Vitam standard litteral code.
- message: required(string)
Vitam standard description message.
- description: required(string)
Vitam detailed description of status.
Example:
{
"httpCode": 500,
"code": "vitamcode",
"context": "External Access",
"state": "Input / Output",
"message": "Access external bad request error",
"description": "Internal Server Error"
}
Request Calcule/Supprime les règles héritées pour les unités archivistiques répondant aux critères de la requête DSL.
Request that will launch the computation
Permissions requises:
- computeInheritedRules:action
Request that will delete the computation
Permissions requises:
- computeInheritedRules:delete
post /units/computedInheritedRules
Request that will launch the computation
Permissions requises:
- computeInheritedRules:action
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: any
Example:
{
"$query": [
{
"$eq": {
"#opi": "aeeaaaaaagfex4j4aaqcqalmjv7flpiaaaaq"
}
}
]
}
HTTP status code 202
Renvoie le statut de l'opération de mise à jour
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération en KO
Body
Media type: application/json
Type: any
delete /units/computedInheritedRules
Request that will delete the computation
Permissions requises:
- computeInheritedRules:delete
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: any
Example:
{
"$query": [
{
"$eq": {
"#opi": "aeeaaaaaagfex4j4aaqcqalmjv7flpiaaaaq"
}
}
]
}
HTTP status code 202
Renvoie le statut de l'opération de mise à jour
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération en KO
Body
Media type: application/json
Type: any
API qui définit les requêtes pour accéder à une Unité d'archive. La requête utilise le langage de requête DSL de Vitam en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
Requête qui retourne une Unité d'archive. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste d'Unités d'archives contenant 1 seul résultat selon le DSL Vitam en cas de succès.
Permissions requises :
- units:id:read:json
[DEPRECATED] - Be careful, this endpoint is no longer acceptable for updating units. Use POST /units instead.
Requête qui modifie une Unité d'archive.
La requête utilise le langage de requête DSL de type modification unitaire (UPDATE BY ID) de Vitam en entrée et retourne le statut de la mise à jour en résultat selon le DSL Vitam en cas de succès.
Permissions requises:
- units:id:update
get /units/{idu}
Requête qui retourne une Unité d'archive. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste d'Unités d'archives contenant 1 seul résultat selon le DSL Vitam en cas de succès.
Permissions requises :
- units:id:read:json
URI Parameters
- idu: required(string)
Identifiant de l'unité d'archive.
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Examples:
{
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
HTTP status code 200
Renvoie la liste de résultats contenant 1 Unité d'archive correspondant à la requête DSL
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $context: required(object)
Contient la requête DSL liée à la réponse
- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Example:
{ "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $projection: (object)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
- $facetResults: (array of object)
Contient la resultat facet
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 0
},
"$context": {
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
put /units/{idu}
[DEPRECATED] - Be careful, this endpoint is no longer acceptable for updating units. Use POST /units instead.
Requête qui modifie une Unité d'archive.
La requête utilise le langage de requête DSL de type modification unitaire (UPDATE BY ID) de Vitam en entrée et retourne le statut de la mise à jour en résultat selon le DSL Vitam en cas de succès.
Permissions requises:
- units:id:update
URI Parameters
- idu: required(string)
Identifiant de l'unité d'archive.
Annotations
- deprecated
"This method is deprecated and will be removed. You should use POST on /units instead (using massUpdate)."
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- $action: (array of object)
Contient les actions de mise à jour à appliquer
Items:
Examples:
{
"$action": [
{
"$set": {
"$myField1": "myValue"
},
"$unset": [
"myField2"
]
}
]
}
{
"$action": [ { "$set": { "NewField": "New value" } } ]
}
{
"$action": [ { "$set": { "NewField": "New value" } } ]
}
HTTP status code 200
Renvoie l'état d'execution de la modification correspondant à la requête DSL
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $context: required(object)
Contient la requête DSL liée à la réponse
- $action: (array of object)
Contient les actions de mise à jour à appliquer
Items:
Example:
{ "$action": [ { "$set": { "$myField1": "myValue" }, "$unset": [ "myField2" ] } ] }
- $action: (array of object)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
- $facetResults: (array of object)
Contient la resultat facet
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 0,
"size": 0,
"offset": 0,
"limit": 0
},
"$context": {
"$action": [
{
"$set": {
"$myField1": "myValue"
},
"$unset": [
"myField2"
]
}
]
},
"$results": []
}
{
"httpCode": 200,
"$hits": {
"total": 0,
"size": 0,
"offset": 0,
"limit": 0
},
"$context": {
"$action": [{ "$set": { "NewField": "New value" } }]
},
"$results": []
}
{
"httpCode": 200,
"$hits": {
"total": 0,
"size": 0,
"offset": 0,
"limit": 0
},
"$context": {
"$action": [{ "$set": { "NewField": "New value" } }]
},
"$results": []
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 405
Method Not Allowed, requested resource is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
API qui définit les requêtes pour accéder à l'Objet d'archives associé à l'Unité d'archives s'il existe. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne l'objet d'archives selon le DSL Vitam en cas de succès.
Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires. Dans le cas des métadonnées, la requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée. 'Accept' header est 'application/octet-stream' (objet binaire) ou 'application/json' (métadonnées)
Permissions requises:
- units:id:objects:read:json
ou
- units:id:objects:read:binary
Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires. Dans le cas des métadonnées, la requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée. 'Accept' header est 'application/octet-stream' (objet binaire) ou 'application/json' (métadonnées) La requête utilise POST avec X-Http-Method-Override: GET.
get /units/{idu}/objects
Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires. Dans le cas des métadonnées, la requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée. 'Accept' header est 'application/octet-stream' (objet binaire) ou 'application/json' (métadonnées)
Permissions requises:
- units:id:objects:read:json
ou
- units:id:objects:read:binary
URI Parameters
- idu: required(string)
Identifiant de l'unité d'archive.
Headers
- Accept: required(one of application/octet-stream, application/json, application/zip)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
- X-Qualifier: (one of BinaryMaster, Dissemination, Thumbnail, TextContent)
L'usage est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Version: (integer)
La version est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Examples:
{
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
HTTP status code 200
Renvoie l'objet binaire (Returns the list of 1 Object matching the DSL query)
Headers
- X-Qualifier: (one of PhysicalMaster, BinaryMaster, Dissemination, Thumbnail, TextContent)
L'usage est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Version: (integer)
La version est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/octet-stream
Type: any
Media type: application/json
Type: object
Properties- $context: required(object)
Contient la requête DSL liée à la réponse
- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Example:
{ "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $projection: (object)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
- $facetResults: (array of object)
Contient la resultat facet
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 0
},
"$context": {
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 460
Data is not available for immediate access from tape storage offer. An Access Request is required to access Object.
post /units/{idu}/objects
Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires. Dans le cas des métadonnées, la requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée. 'Accept' header est 'application/octet-stream' (objet binaire) ou 'application/json' (métadonnées) La requête utilise POST avec X-Http-Method-Override: GET.
URI Parameters
- idu: required(string)
Identifiant de l'unité d'archive.
Headers
- X-Http-Method-Override: required(GET)
- Accept: required(one of application/octet-stream, application/json, application/zip)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
- X-Qualifier: (one of BinaryMaster, Dissemination, Thumbnail, TextContent)
L'usage est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Version: (integer)
La version est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Examples:
{
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
{
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
}
HTTP status code 200
Renvoie l'objet binaire (Returns the list of 1 Object matching the DSL query)
Headers
- X-Qualifier: (one of PhysicalMaster, BinaryMaster, Dissemination, Thumbnail, TextContent)
L'usage est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Version: (integer)
La version est utilisée et obligatoire uniquement en présence de Accept: application/octet-stream. ONLY VALID with Accept application/octet-stream
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/octet-stream
Type: any
Media type: application/json
Type: object
Properties- $context: required(object)
Contient la requête DSL liée à la réponse
- $projection: (object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
Example:
{ "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $projection: (object)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
- $facetResults: (array of object)
Contient la resultat facet
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 0
},
"$context": {
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "title": 1, "#type": 1, "#parents": 1, "#object": 1 } }
},
"$results": [
{
"#id": "id1", "title": "titre 1", "#type": "DemandeCongés",
"#parents": [ { "#id": "id4", "#type": "DossierCongés" } ],
"#object": { "#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 } }
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 1,
"offset": 0,
"limit": 10000
},
"$context": {
"$projection": { "$fields": { "#id": 1, "#qualifiers": 1, "#type": 1, "#parents": 1 } }
},
"$results": [
{
"#id": "id101", "#type": "Document",
"#qualifiers": { "BinaryMaster": 5, "Dissemination": 1, "Thumbnail": 1, "TextContent": 1 },
"#parents": [ { "#id": "id1", "#type": "DemandeCongés", "#sector": "RessourcesHumaines" } ]
}
]
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 460
Data is not available for immediate access from tape storage offer. An Access Request is required to access Object.
Endpoint d'API pour la création de Demandes d'Accès depuis une offre froide à des Objets d'archives.
Création d'une demandes d'accès à un objet d'archives associé à une unité d'archives.
Si l'objet est persisté sur une offre de stockage « froide », une demandes d'accès est créée, et renvoyée.
Si l'objet est persisté sur une offre de stockage « chaude », aucune demandes d'accès n'est renvoyée.
La création d'une demandes d'accès, permet de pré-commander des données persistées sur une offre « froide », et de le mettre à disposition pour lecture.
L'appelant doit monitorer périodiquement le statut des demandes d'accès (typiquement toutes les quelques minutes ou heures).
Une fois une demandes d'accès est devient prête (READY), la disponibilité immédiate des données depuis l'offre « froide » est garantie.
La durée d'expiration d'une demandes d'accès, qui court à partir du moment où cette dernière devient prête, est paramétrée par l'administrateur de Vitam.
Au bout d'une durée configurée par l'administrateur, une demandes d'accès est purgée de l'offre (NOT_FOUND).
Une fois une demandes d'accès est expirée (EXPIRED) ou supprimée, la disponibilité des données n'est alors plus garantie.
IMPORTANT: Les demandes d'accès créées doivent être supprimées au plus vite, dès que la donnée a été récupérée. Un trop grand nombre et/ou volume de demandes d'accès non supprimées risque d'impacter les capacité de stockage du cache de l'offre « froide », ainsi que la stabilité de l'offre.
Permissions requises:
- units:id:objects:accessrequests:create
post /units/{idu}/objects/accessRequests
Création d'une demandes d'accès à un objet d'archives associé à une unité d'archives.
Si l'objet est persisté sur une offre de stockage « froide », une demandes d'accès est créée, et renvoyée.
Si l'objet est persisté sur une offre de stockage « chaude », aucune demandes d'accès n'est renvoyée.
La création d'une demandes d'accès, permet de pré-commander des données persistées sur une offre « froide », et de le mettre à disposition pour lecture.
L'appelant doit monitorer périodiquement le statut des demandes d'accès (typiquement toutes les quelques minutes ou heures).
Une fois une demandes d'accès est devient prête (READY), la disponibilité immédiate des données depuis l'offre « froide » est garantie.
La durée d'expiration d'une demandes d'accès, qui court à partir du moment où cette dernière devient prête, est paramétrée par l'administrateur de Vitam.
Au bout d'une durée configurée par l'administrateur, une demandes d'accès est purgée de l'offre (NOT_FOUND).
Une fois une demandes d'accès est expirée (EXPIRED) ou supprimée, la disponibilité des données n'est alors plus garantie.
IMPORTANT: Les demandes d'accès créées doivent être supprimées au plus vite, dès que la donnée a été récupérée. Un trop grand nombre et/ou volume de demandes d'accès non supprimées risque d'impacter les capacité de stockage du cache de l'offre « froide », ainsi que la stabilité de l'offre.
Permissions requises:
- units:id:objects:accessrequests:create
URI Parameters
- idu: required(string)
Identifiant de l'unité d'archive.
Headers
- Accept: required(application/json)
- Content-Type: required(application/json)
- X-Qualifier: required(one of BinaryMaster, Dissemination, Thumbnail, TextContent)
Le qualifier de l'objet binaire
- X-Version: required(integer)
La version de l'objet (Ex. 1, 2...)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
HTTP status code 200
Renvoie le résultat de création de la demande d'accès à l'objet d'archives
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la réponse
- $results: required(array of AccessTypes.AccessRequestReference)
Contient la demande d'accès à l'objet, si celle-ci a bien été créée.
Si l'objet est persisté sur une offre de stockage « froide », une demande d'accès est renvoyée. Si l'objet est persisté sur une offre de stockage « chaude », aucune demande d'accès n'est renvoyée.
Items: Les références d'une demande d'accès d'une stratégie stockage « froide »
- accessRequestId: required(string)
L'identifiant de la demande d'accès
- storageStrategyId: required(string)
Stratégie de stockage associée à la demande d'accès
Example:
{ "accessRequestId": "aeaaaaaaaag5nq65ag2cgal54k3u7aqaaaaq", "storageStrategyId": "tape" }
- accessRequestId: required(string)
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"accessRequestId": "aeaaaaaaaag5nq65ag2cgal54mxefmqaaaaq",
"storageStrategyId": "tape"
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Internal Server Error, the server encountered an unexpected condition which prevented it from fulfilling the request
Requête qui déclanche la mise à jour unitaire des métadonnées descriptives de plusieurs unités archivistiques. La requête utilise le langage de requête DSL de type mise à jour unitaire de masse (BULK UPDATE) de Vitam en entrée. Permissions requises:
- units:bulk:update
post /units/bulk
Requête qui déclanche la mise à jour unitaire des métadonnées descriptives de plusieurs unités archivistiques. La requête utilise le langage de requête DSL de type mise à jour unitaire de masse (BULK UPDATE) de Vitam en entrée. Permissions requises:
- units:bulk:update
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- queries: required(array of DslTypes.DslAtomicUpdateQuery)
Contient la liste des requêtes de mise à jour unitaire des métadonnées
Items: Requête DSL multiple pour le traitement de masse pour mise à jour unitaire des métadonnées
- $query: required(array of object)
Contient plusieurs requêtes
Items:
Example:
{ "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ] }
- $action: required(array of object)
Contient les actions de mise à jour à appliquer
Items:
Example:
{ "$action": [ { "$set": { "$myField1": "myValue" }, "$unset": [ "myField2" ] } ] }
- $query: required(array of object)
- threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement en masse unitaire en nombre de queries (optionnel)
Example:
BulkAtomicUpdate:
{
"threshold": 10000,
"queries": [
{
"$query": [
{
"$eq": {
"ArchivalAgencyArchiveUnitIdentifier": "Value1"
}
}
],
"$action": [
{
"$set": {
"Title": "AAAUI Value1 modifiée par le passage des TNR"
}
}
]
},
{
"$query": [
{
"$eq": {
"ArchivalAgencyArchiveUnitIdentifier": "Value2"
}
}
],
"$action": [
{
"$setregex": {
"$target": "Description",
"$controlPattern": "Cette unité de description doit hériter",
"$updatePattern": "Cette unité de description modifiée par le passage des TNR doit hériter"
}
},
{
"$set": {
"Description": "Cette unité de description a été modifiée par le passage des TNR"
}
}
]
}
]
}
HTTP status code 200
Renvoie le statut de l'opération de mise à jour
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: any
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 405
Method Not Allowed, requested resource is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Renvoie le statut final de l'opération en KO
Body
Media type: application/json
Type: any
ArchiveUnits with inherited rules
API qui définit les requêtes pour accéder aux Unités d'archives 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.
Requête qui retourne des résultats contenant des Unités d'archives ainsi que leurs règles de gestion héritées. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) 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:
- unitsWithInheritedRules:read
get /unitsWithInheritedRules
Requête qui retourne des résultats contenant des Unités d'archives ainsi que leurs règles de gestion héritées. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) 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:
- unitsWithInheritedRules:read
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
HTTP status code 200
Renvoie la liste des résultats d'Unités d'archives correspondant à la requête DSL ainsi que leurs règles héritées.
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $facetResults: (array of object)
Contient la resultat facet
Items: items
- name: required(string)
Example:
facetName
- buckets: required(array of any)
- name: required(string)
- $context: required(object)
Contient la requête DSL liée à la réponse
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 52,
"size": 2,
"offset": 0,
"limit": 100
},
"$context": {
"$roots": [
"guid1",
"guid2"
],
"$query": [
{
"$eq": {
"myField1": "myValue"
},
"$depth": 4
}
],
"$filter": {
"$limit": 100,
"$offset": 50,
"$track_total_hits": false
},
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
},
{
"myField1": "myValue2",
"myField2.mySubField": "mySubValue2"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Groupe d'objet
API qui définit l'ensemble des requêtes sur les groupes d'objets.
Requête qui retourne des résultats contenant des Groupes d'objets. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam et peut utiliser l'opérateur $subobject (Voir documentation DSL) en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
Permissions requises:
- objects:read
Requête qui retourne des résultats contenant des Groupes d'objets en utilisant le verbe POST et le header X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam et peut utiliser l'opérateur $subobject (Voir documentation DSL) en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
get /objects
Requête qui retourne des résultats contenant des Groupes d'objets. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam et peut utiliser l'opérateur $subobject (Voir documentation DSL) en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
Permissions requises:
- objects:read
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$query": [
{
"$and": [
{
"$match": {
"FileInfo.FileName": "FileName.txt"
}
},
{
"$subobject": {
"#qualifiers.versions": {
"$and": [
{
"$eq": {
"#qualifiers.versions.FormatIdentification.MimeType": "text/plain"
}
},
{
"$lte": {
"#qualifiers.versions.Size": 20000
}
}
]
}
}
}
]
}
],
"$projection": {},
"$filter": {}
}
HTTP status code 200
Renvoie la liste de résultats correspondant à la requête DSL
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $facetResults: (array of object)
Contient la resultat facet
Items: items
- name: required(string)
Example:
facetName
- buckets: required(array of any)
- name: required(string)
- $context: required(object)
Contient la requête DSL liée à la réponse
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 52,
"size": 2,
"offset": 0,
"limit": 100
},
"$context": {
"$roots": [
"guid1",
"guid2"
],
"$query": [
{
"$eq": {
"myField1": "myValue"
},
"$depth": 4
}
],
"$filter": {
"$limit": 100,
"$offset": 50,
"$track_total_hits": false
},
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
},
{
"myField1": "myValue2",
"myField2.mySubField": "mySubValue2"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
post /objects
Requête qui retourne des résultats contenant des Groupes d'objets en utilisant le verbe POST et le header X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam et peut utiliser l'opérateur $subobject (Voir documentation DSL) en entrée et retourne une liste d'Unités d'archives selon le DSL Vitam en cas de succès.
Headers
- X-Http-Method-Override: required(GET)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
- Accept: required(one of application/json, application/zip, application/octet-stream)
Allow to specify if a result must contain only Metadata ('application/json') or only the Objects with a binary content ('application/octet-stream').
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$query": [
{
"$and": [
{
"$match": {
"FileInfo.FileName": "FileName.txt"
}
},
{
"$subobject": {
"#qualifiers.versions": {
"$and": [
{
"$eq": {
"#qualifiers.versions.FormatIdentification.MimeType": "text/plain"
}
},
{
"$lte": {
"#qualifiers.versions.Size": 20000
}
}
]
}
}
}
]
}
],
"$projection": {},
"$filter": {}
}
{
"$query": [
{
"$and": [
{
"$match": {
"FileInfo.FileName": "FileName.txt"
}
},
{
"$subobject": {
"#qualifiers.versions": {
"$and": [
{
"$eq": {
"#qualifiers.versions.FormatIdentification.MimeType": "text/plain"
}
},
{
"$lte": {
"#qualifiers.versions.Size": 20000
}
}
]
}
}
}
]
}
],
"$projection": {},
"$filter": {}
}
HTTP status code 200
Renvoie la liste de résultats correspondant à la requête DSL
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $facetResults: (array of object)
Contient la resultat facet
Items: items
- name: required(string)
Example:
facetName
- buckets: required(array of any)
- name: required(string)
- $context: required(object)
Contient la requête DSL liée à la réponse
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $results: required(array of object)
Contient la list des résultats
Items:
Examples:
{
"httpCode": 200,
"$hits": {
"total": 52,
"size": 2,
"offset": 0,
"limit": 100
},
"$context": {
"$roots": [
"guid1",
"guid2"
],
"$query": [
{
"$eq": {
"myField1": "myValue"
},
"$depth": 4
}
],
"$filter": {
"$limit": 100,
"$offset": 50,
"$track_total_hits": false
},
"$projection": {
"$fields": {
"myField1": 1,
"myField2.mySubField": 1
}
}
},
"$results": [
{
"myField1": "myValue1",
"myField2.mySubField": "mySubValue1"
},
{
"myField1": "myValue2",
"myField2.mySubField": "mySubValue2"
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
{
"httpCode": 200,
"$hits": {
"total": 1,
"size": 3,
"offset": 0,
"limit": 1000
},
"$context": {
"$roots": [ "id0" ],
"$query": [
{ "$match": { "title": "Arpajon" }, "$depth": 4 }
],
"$filter": { "$limit": 1000, "$offset": 10 },
"$projection": { "$fields": { "#id": 1, "title": 1 } }
},
"$results": [
{
"Title": "Arpajon",
"#id": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"InheritedRules": {
"StorageRule": {
"Rules": [],
"Properties": []
},
"AppraisalRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "APP-00049",
"StartDate": "2014-01-01",
"EndDate": "2015-01-01"
}
],
"Properties": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"PropertyName": "FinalAction",
"PropertyValue": "Destroy"
}
]
},
"DisseminationRule": {
"Rules": [],
"Properties": []
},
"ReuseRule": {
"Rules": [],
"Properties": []
},
"ClassificationRule": {
"Rules": [],
"Properties": []
},
"AccessRule": {
"Rules": [],
"Properties": []
},
"HoldRule": {
"Rules": [
{
"UnitId": "aeaqaaaaaaftcq6raam3galew4bftjiaaaba",
"OriginatingAgency": "SNCF",
"Paths": [
[
"aeaqaaaaaaftcq6raam3galew4bftjiaaaba"
]
],
"Rule": "HOL-00002",
"StartDate": "2014-01-01",
"EndDate": "2020-01-01",
"HoldEndDate": "2020-01-01",
"HoldOwner": "Owner",
"HoldReason": "Reason",
"HoldReassessingDate": "2018-01-01",
"PreventRearrangement": false
}
]
}
}
}
]
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
{
"httpCode": 200,
"$hits": {
"total": 10000,
"offset": 0,
"limit": 5,
"size": 5
},
"$results": [
{
"#nbobjects": 2
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
},
{
"#nbobjects": 1
}
],
"$facetResults": [
{
"name": "ObjectTypeFacet",
"buckets": [
{
"value": "text/plain",
"count": 50108
},
{
"value": "application/pdf",
"count": 167
},
{
"value": "image/jpeg",
"count": 59
},
{
"value": "application/vnd.oasis.opendocument.text",
"count": 38
},
{
"value": "image/png",
"count": 5
},
{
"value": "application/vnd.oasis.opendocument.spreadsheet",
"count": 4
},
{
"value": "",
"count": 3
},
{
"value": "application/mp4; video/mp4",
"count": 3
},
{
"value": "application/vnd.oasis.opendocument.presentation",
"count": 2
},
{
"value": "application/javascript",
"count": 1
},
{
"value": "application/json",
"count": 1
},
{
"value": "application/x-bzip2",
"count": 1
},
{
"value": "application/x-tar",
"count": 1
},
{
"value": "application/xml; text/xml",
"count": 1
},
{
"value": "application/zip",
"count": 1
},
{
"value": "audio/flac",
"count": 1
},
{
"value": "image/svg+xml",
"count": 1
},
{
"value": "text/css",
"count": 1
},
{
"value": "text/html",
"count": 1
},
{
"value": "text/x-vCalendar",
"count": 1
}
]
}
],
"$context": {
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
}
HTTP status code 400
Bad Request, syntax might be erroneous
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 403
Forbidden, requested action is forbidden
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Restauration des métadonnées
API qui restaure les métadonnées essentielles
Requête qui permet la restauration des métadonnées essentielles des unités archivistiques.
Permissions requises:
- units:update:revert
post /revert/units
Requête qui permet la restauration des métadonnées essentielles des unités archivistiques.
Permissions requises:
- units:update:revert
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- force: required(boolean)
true si on force la restauration, false sinon
Example:
false
- dslRequest: required(object)
requete DSL pour filtrer les units à restaurer
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement de masse (optionnel)
- $filter: (object)
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: (object)
- $fields: (object)
- $fields: (object)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$threshold": 1000 }
- $roots: required(array of string)
- operationId: required(string)
identifiant de l'opération à restaurer
- $fields: required(array of )
les champs à restaurer
Example:
{
"force": false,
"dslRequest": {
"$roots": [],
"$query": []
},
"operationId": "aeeaaaaaachikhnoaant6alwd2ltg6iaaaaq",
"$fields": ["Title"]
}
HTTP status code 202
Renvoie le statut de l'opération de la restauration des métadoonées
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
DIP Export
API qui définit les requêtes pour générer un DIP (Dissemination Information Package : ZIP contenant les métadonnées et les objets) pour une sélection d'Unités d'archives. La requête utilise le langage de requête (DSL) de Vitam en entrée et va lancer un processus générant le DIP selon le DSL passé. Une autre requête pourra être exécutée par la suite pour télécharger le fichier Zip généré.
response : JSON asynchronous state / HTTP CODE 202 or 500 for Internal Server Error La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
Permissions requises:
- dipexport:create
post /dipexport
response : JSON asynchronous state / HTTP CODE 202 or 500 for Internal Server Error La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
Permissions requises:
- dipexport:create
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Examples:
{
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": 0
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"#nbobjects": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "#qualifiers.versions.FormatIdentification.MimeType",
"$subobject": "#qualifiers.versions",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$roots": [],
"$query": [
{
"$eq": {
"#tenant": "0"
}
}
],
"$filter": {
"$limit": 5
},
"$projection": {
"$fields": {
"Title": 1
}
},
"$facets": [
{
"$name": "ObjectTypeFacet",
"$terms": {
"$field": "DescriptionLevel",
"$size": 20,
"$order": "ASC"
}
}
]
}
{
"$query": [
{
"$and": [
{
"$match": {
"FileInfo.FileName": "FileName.txt"
}
},
{
"$subobject": {
"#qualifiers.versions": {
"$and": [
{
"$eq": {
"#qualifiers.versions.FormatIdentification.MimeType": "text/plain"
}
},
{
"$lte": {
"#qualifiers.versions.Size": 20000
}
}
]
}
}
}
]
}
],
"$projection": {},
"$filter": {}
}
{
"$query": [
{
"$and": [
{
"$match": {
"FileInfo.FileName": "FileName.txt"
}
},
{
"$subobject": {
"#qualifiers.versions": {
"$and": [
{
"$eq": {
"#qualifiers.versions.FormatIdentification.MimeType": "text/plain"
}
},
{
"$lte": {
"#qualifiers.versions.Size": 20000
}
}
]
}
}
}
]
}
],
"$projection": {},
"$filter": {}
}
HTTP status code 202
Renvoie le statut de l'opération de DIP
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 500
Renvoie ce statut en cas d'erreur interne
Body
Media type: application/json
Type: any
Télécharger le DIP généré par l'opération passée en paramètre
Requête qui retourne les résultats composés des métadonnées et des objets binaires dans un fichier zip 'Accept' header est 'application/octet-stream'
Permissions requises:
- dipexport:id:dip:read
get /dipexport/{id}/dip/
Requête qui retourne les résultats composés des métadonnées et des objets binaires dans un fichier zip 'Accept' header est 'application/octet-stream'
Permissions requises:
- dipexport:id:dip:read
URI Parameters
- id: required(string)
Identifiant de l'opération d'export DIP.
Headers
- Accept: required(application/octet-stream)
DIP Export V2
API qui définit les requêtes pour générer un DIP (Dissemination Information Package : ZIP contenant les métadonnées et les objets) pour une sélection d'Unités d'archives. La requête est composée d'une dslRequest (DSL) et d'autres paramètres nécessaires pour le service. Un processus générant le DIP V2 selon le DSL passé sera lancé. Une autre requête pourra être exécutée par la suite pour télécharger le fichier Zip généré.
response : JSON asynchronous state / HTTP CODE 202 or 500 for internal error La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
post /v2/dipexport
response : JSON asynchronous state / HTTP CODE 202 or 500 for internal error La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- dipExportType: required(one of MINIMAL, FULL)
Le type d'export DIP
- exportWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets
- transferWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets pour le transfert
- dslRequest: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- dataObjectVersionToExport: (object)
L'identifiant du scénario de préservation
- dataObjectVersions: required(array of string)
Liste des versions d'objets à inclure dans l'export
- dataObjectVersions: required(array of string)
- dipRequestParameters: (object)
Les paramètres nécessaires pour faire un export DIP, ce champs est obligatoire quand le dipExportType est FULL
- archivalAgreement: (string)
Contrat d'entrée
- originatingAgencyIdentifier: (string)
Identifiant du service producteur
- comment: (string)
Intitulé
- submissionAgencyIdentifier: (string)
Identifiant du service versant
- archivalAgencyIdentifier: required(string)
Identifiant du service d'archives. Si Vitam trouve un seul service d'archives pour la selection d'unités archivistiques, ce service sera utilisé par défaut.
- messageRequestIdentifier: required(string)
Identifiant de la demande
- requesterIdentifier: required(string)
Identifiant du demandeur
- authorizationRequestReplyIdentifier: (string)
Identifiant de la réponse à une demande d'autorisation
- archivalAgreement: (string)
- maxSizeThreshold: (integer)
Le seuil du poids binaire max autorisé pour un DIP ou un SIP de transfert
Example:
{
"dipExportType": "FULL",
"dataObjectVersionToExport": {
"dataObjectVersions": [
"BinaryMaster"
]
},
"transferWithLogBookLFC": true,
"dipRequestParameters": {
"archivalAgreement": "ArchivalAgreement",
"originatingAgencyIdentifier": "OriginatingAgencyIdentifier",
"comment": "Comment",
"submissionAgencyIdentifier": "SubmissionAgencyIdentifier",
"messageRequestIdentifier": "MessageRequestIdentifier",
"authorizationRequestReplyIdentifier": "AuthorizationRequestReplyIdentifier",
"archivalAgencyIdentifier": "ArchivalAgencyIdentifier",
"requesterIdentifier": "RequesterIdentifier"
},
"dslRequest": {
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
},
"maxSizeThreshold": 1024
}
HTTP status code 202
Renvoie le statut de l'opération de DIP V2
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 500
Renvoie ce statut en cas d'erreur interne
Body
Media type: application/json
Type: any
Transfert d'archives
API qui définit les requêtes pour générer un transfert d'une sélection d'unités d'archives. La requête est composée d'une dslRequest (DSL) et d'autres paramètres nécessaires pour le service. Un processus générant le SIP selon le DSL passé sera lancé. Une autre requête pourra être exécutée par la suite pour télécharger le fichier Zip généré.
response : JSON asynchronous state / HTTP CODE (202, 200) or (412, 500 else) La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
Permissions requises:
- transfers:create
post /transfers
response : JSON asynchronous state / HTTP CODE (202, 200) or (412, 500 else) La requête utilise le langage de requête DSL de type recherche multiple (SELECT MULTIPLE) de Vitam en entrée.
Permissions requises:
- transfers:create
Headers
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- exportWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets pour le DIP
- transferWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets pour le transfert
- dslRequest: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- maxSizeThreshold: (integer)
Le seuil du poids binaire max autorisé pour un DIP ou un SIP de transfert
- dataObjectVersionToExport: (object)
L'identifiant du scénario de préservation
- dataObjectVersions: required(array of string)
Liste des versions d'objets à inclure dans l'export
- dataObjectVersions: required(array of string)
- transferRequestParameters: required(object)
Les paramètres nécessaires pour faire un transfert d'unités archivistiques
- archivalAgreement: required(string)
Contrat d'entrée
- originatingAgencyIdentifier: required(string)
Identifiant du service producteur
- archivalAgencyIdentifier: required(string)
Identifiant du service d'archives
- comment: (string)
Intitulé
- submissionAgencyIdentifier: (string)
Identifiant du service versant
- transferringAgency: (string)
Service versant
- transferRequestReplyIdentifier: (string)
Identifiant de la réponse à une demande de transfert
- relatedTransferReference: (array of string)
Référence à un transfert d'archives lié
- archivalAgreement: required(string)
Example:
{
"dataObjectVersionToExport": {
"dataObjectVersions": [
"BinaryMaster"
]
},
"transferWithLogBookLFC": true,
"transferRequestParameters": {
"archivalAgreement": "ArchivalAgreement",
"originatingAgencyIdentifier": "OriginatingAgencyIdentifier",
"comment": "Comment",
"submissionAgencyIdentifier": "SubmissionAgencyIdentifier",
"relatedTransferReference": [
"RelatedTransferReference"
],
"transferRequestReplyIdentifier": "TransferRequestReplyIdentifier",
"archivalAgencyIdentifier": "ArchivalAgencyIdentifier",
"transferringAgency": "TransferringAgency"
},
"dslRequest": {
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
},
"maxSizeThreshold": 1024
}
HTTP status code 202
Renvoie le statut de l'opération de Transfer
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 500
Renvoie ce statut en cas d'erreur interne
Body
Media type: application/json
Type: any
Télécharger le SIP généré par l'opération passée en paramètre.
Requête qui retourne un SIP au format ZIP 'Accept' header est 'application/octet-stream'.
Permissions requises:
- transfers:id:sip:read
get /transfers/{id}/sip/
Requête qui retourne un SIP au format ZIP 'Accept' header est 'application/octet-stream'.
Permissions requises:
- transfers:id:sip:read
URI Parameters
- id: required(string)
Identifiant de l'opération du transfert d'archives.
Headers
- Accept: required(application/octet-stream)
Elimination
API qui définit les requêtes pour l'élimination des unités archivistiques.
Opération d'analyse des unités archivistiques éliminables.
Exécute une opération d'analyse d'élimination des unités archivistiques.
Permissions requises :
- elimination:analysis
post /elimination/analysis
Exécute une opération d'analyse d'élimination des unités archivistiques.
Permissions requises :
- elimination:analysis
Headers
- Accept: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- dslRequest: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement de masse (optionnel)
- $filter: (object)
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: (object)
- $fields: (object)
- $fields: (object)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$threshold": 1000 }
- $roots: required(array of string)
- date: required(string)
La date d'élimination
Examples:
{
"dslRequest": {
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
{
"dslRequest": {
"$roots": [ "id0" ],
"$query": [
{
"$match": { "title": "titre" },
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
{
"dslRequest": {
"$roots": [ "id0" ],
"$query": [
{
"$match": { "title": "titre" },
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
HTTP status code 200
Success
Body
Media type: application/json
Type: any
HTTP status code 202
Renvoie le statut de l'opération de l'élimination
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la reponse
Examples:
{
"httpCode": 202
}
{
"httpCode" : 202
}
{
"httpCode" : 202
}
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération d'élimination en KO
Body
Media type: application/json
Type: any
Opération d'élimination définitive des unités archivistiques éliminables.
Exécute une opération d'élimination définitive des unités archivistiques.
Permissions requises:
- elimination:action
post /elimination/action
Exécute une opération d'élimination définitive des unités archivistiques.
Permissions requises:
- elimination:action
Headers
- Accept: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- dslRequest: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement de masse (optionnel)
- $filter: (object)
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: (object)
- $fields: (object)
- $fields: (object)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$threshold": 1000 }
- $roots: required(array of string)
- date: required(string)
La date d'élimination
Examples:
{
"dslRequest": {
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
{
"dslRequest": {
"$roots": [ "id0" ],
"$query": [
{
"$match": { "title": "titre" },
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
{
"dslRequest": {
"$roots": [ "id0" ],
"$query": [
{
"$match": { "title": "titre" },
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
{
"dslRequest": {
"$roots": [ "id0" ],
"$query": [
{
"$match": { "title": "titre" },
"$depth": 4
}
],
"$threshold": 10000
},
"date": "2018-01-23"
}
HTTP status code 200
Success
Body
Media type: application/json
Type: any
HTTP status code 202
Renvoie le statut de l'opération de l'élimination
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la reponse
Examples:
{
"httpCode": 202
}
{
"httpCode" : 202
}
{
"httpCode" : 202
}
{
"httpCode" : 202
}
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération d'élimination en KO
Body
Media type: application/json
Type: any
Journaux d'accès
API qui permet de lancer des actions relatives aux journaux d'accès aux objets binaires des unités archivistiques.
Lancer la récupération des journaux sous la forme d'un ZIP contenant des fichiers de log au format Json Lines. La requête prend en paramètre un objet Json pouvant contenir une date de début (StartDate) ou de fin (EndDate) pour filtrer les journaux.
Permissions requises:
- storageaccesslog:read:binary
get /storageaccesslog
Lancer la récupération des journaux sous la forme d'un ZIP contenant des fichiers de log au format Json Lines. La requête prend en paramètre un objet Json pouvant contenir une date de début (StartDate) ou de fin (EndDate) pour filtrer les journaux.
Permissions requises:
- storageaccesslog:read:binary
Headers
- Accept: required(application/json)
- Content-Type: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
Body
Media type: application/json
Type: object
Properties- StartDate: (string)
Date de début des fichiers de log (un fichier de log contenant des logs après et avant cette date est remonté au complet)
Example:
2018-11-14
- EndDate: (string)
Date de fin des fichiers de log (un fichier de log contenant des logs après et avant cette date est remonté au complet)
Example:
2018-11-14
Example:
{
"StartDate": "2018-11-14"
}
Préservation
Opération de préservation des unités archivistiques.
Exécute une opération de préservation sur (une ou) les unités archivistiques.
Permissions requises:
- preservation:update
post /preservation
Exécute une opération de préservation sur (une ou) les unités archivistiques.
Permissions requises:
- preservation:update
Headers
- Accept: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- dslQuery: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement de masse (optionnel)
- $filter: (object)
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: (object)
- $fields: (object)
- $fields: (object)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$threshold": 1000 }
- $roots: required(array of string)
- scenarioId: required(string)
L'identifiant du scénario de préservation
- targetUsage: required(string)
usage du binaire générer
- sourceUsage: required(string)
usage du binaire cible
- version: required(string)
La version du binaire sur lequel on veux opérer une action de préservation
Examples:
{
"dslQuery": {
"$roots": [],
"$query": [
{
"$eq": {
"#id": "aeaqaaaaaaezyoa6abacealifcom6xyaaaaq"
}
}
],
"$threshold": 40
},
"scenarioId": "PSC-000001",
"targetUsage": "BinaryMaster",
"sourceUsage": "BinaryMaster",
"version": "FIRST"
}
{
"dslQuery" : {
"$roots": [],
"$query": [
{
"$eq": {
"#id": "aeaqaaaaaaezyoa6abacealifcom6xyaaaaq"
}
}
],
"$threshold": 40,
"$filter": {},
"$projection": {}
},
"scenarioId" : "PSC-000001",
"targetUsage": "BinaryMaster",
"sourceUsage": "Dissemination",
"version": "FIRST"
}
{
"dslQuery" : {
"$roots": [],
"$query": [
{
"$eq": {
"#id": "aeaqaaaaaaezyoa6abacealifcom6xyaaaaq"
}
}
],
"$threshold": 40,
"$filter": {},
"$projection": {}
},
"scenarioId" : "PSC-000001",
"targetUsage": "BinaryMaster",
"sourceUsage": "Dissemination",
"version": "FIRST"
}
HTTP status code 200
Success
Body
Media type: application/json
Type: any
HTTP status code 202
Renvoie le statut de l'opération de préservation
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la reponse
Examples:
{
"httpCode": 202
}
{
"httpCode" : 202
}
{
"httpCode" : 202
}
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération de préservation en KO
Body
Media type: application/json
Type: any
Transfer Reply
Démarage du traitement de l'ATR adressé par le SAE cible dans le cas d'un transfert
Démarage du traitement de l'ATR adressé par le SAE cible dans le cas d'un transfert.
Permissions requises:
- transfers:reply
post /transfers/reply
Démarage du traitement de l'ATR adressé par le SAE cible dans le cas d'un transfert.
Permissions requises:
- transfers:reply
Headers
- Accept: required(application/xml)
- Content-Type: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- exportWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets pour le DIP
- transferWithLogBookLFC: (boolean)
True pour inclure les logbook de cycle de vie des unités archivistiques et groupes d'objets pour le transfert
- dslRequest: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $filter: (object)
Contient les filtres à appliquer
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: required(object)
Contient la projection à appliquer
- $fields: (object)
- $fields: (object)
- $facet: (array of DslTypes.Facet)
Contains facet if requested
Items: Facet
- $name: required(string)
- $terms: (object)
- $field: required(string)
Example:
#qualifiers.versions.FormatIdentification.MimeType
- $subobject: required(string)
Example:
#qualifiers.versions
- $size: required(number)
Example:
20
- $order: required(string)
Example:
ASC
- $field: required(string)
- $filters: (object)
- $query_filters: required(array of object)
Items: items
- $name: required(string)
- $query: required(object)
- $query_filters: required(array of object)
- $date_range: (object)
- $subobject: required(string)
Example:
#qualifiers.versions
- $field: required(string)
Example:
#qualifiers.versions.FileInfo.LastModified
- $format: required(string)
Example:
YYYY
- $ranges: required(array of object - minItems: 1 - maxItems: 2)
Items: items
- $from: required(string)
Example:
2017
- $to: required(string)
Example:
2020
- $from: required(string)
- $subobject: required(string)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$filter": { "$limit": 100, "$offset": 50 }, "$projection": { "$fields": { "myField1": 1, "myField2.mySubField": 1 } } }
- $roots: required(array of string)
- maxSizeThreshold: (integer)
Le seuil du poids binaire max autorisé pour un DIP ou un SIP de transfert
- dataObjectVersionToExport: (object)
L'identifiant du scénario de préservation
- dataObjectVersions: required(array of string)
Liste des versions d'objets à inclure dans l'export
- dataObjectVersions: required(array of string)
- transferRequestParameters: required(object)
Les paramètres nécessaires pour faire un transfert d'unités archivistiques
- archivalAgreement: required(string)
Contrat d'entrée
- originatingAgencyIdentifier: required(string)
Identifiant du service producteur
- archivalAgencyIdentifier: required(string)
Identifiant du service d'archives
- comment: (string)
Intitulé
- submissionAgencyIdentifier: (string)
Identifiant du service versant
- transferringAgency: (string)
Service versant
- transferRequestReplyIdentifier: (string)
Identifiant de la réponse à une demande de transfert
- relatedTransferReference: (array of string)
Référence à un transfert d'archives lié
- archivalAgreement: required(string)
Example:
{
"dataObjectVersionToExport": {
"dataObjectVersions": [
"BinaryMaster"
]
},
"transferWithLogBookLFC": true,
"transferRequestParameters": {
"archivalAgreement": "ArchivalAgreement",
"originatingAgencyIdentifier": "OriginatingAgencyIdentifier",
"comment": "Comment",
"submissionAgencyIdentifier": "SubmissionAgencyIdentifier",
"relatedTransferReference": [
"RelatedTransferReference"
],
"transferRequestReplyIdentifier": "TransferRequestReplyIdentifier",
"archivalAgencyIdentifier": "ArchivalAgencyIdentifier",
"transferringAgency": "TransferringAgency"
},
"dslRequest": {
"$roots": [
"id0"
],
"$query": [
{
"$match": {
"title": "titre"
},
"$depth": 4
}
],
"$filter": {
"$limit": 1000,
"$offset": 10
},
"$projection": {
"$fields": {
"#id": 1,
"title": 1,
"#type": 1,
"#sector": 1,
"#parents": 1,
"#object": 1
}
}
},
"maxSizeThreshold": 1024
}
HTTP status code 200
Lancement du traitement
Body
Media type: application/json
Type: any
HTTP status code 202
Renvoie le statut de l'opération de Transfer
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- $results: required(array of StandardTypes.AsyncResponse)
Contient la list des résultats
Items: Réponse DSL
- itemId: required(string)
Contient le code retrour http
- message: required(string)
Contient le nombre de hits
- globalStatus: required(string)
Contient le code retrour http
- statusMeter: required(array of number)
lala
- data: required(object)
Contient le code retrour http
- itemsStatus: required(object)
Contient le code retrour http
- evDetailData: required(string)
Contient le code retrour http
- globalState: required(string)
Contient le code retrour http
- subTaskStatus: required(object)
Contient le code retrour http
- lifecycleEnable: required(boolean)
Contient le code retrour http
- itemId: required(string)
- httpCode: required(integer)
Contient le code retrour http
- $hits: required(object)
Contient le nombre de hits
- total: required(integer)
Nombre total de résultats estimé
- offset: required(integer)
Décalage du début des résultats
- limit: required(integer)
Nombre maximum de résultats voulu à partir de la valeur "offset"
- size: required(integer)
Nombre de résultats renvoyés
- total: required(integer)
- $facetResults: (array of object)
Contient la resultat facet
Items:
- $context: (object)
toto
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"itemId": "operationId",
"message": "",
"globalStatus": "STARTED",
"statusMeter": [
0,
1,
0,
0,
0,
0,
0
],
"data": {},
"itemsStatus": {},
"evDetailData": "{}",
"globalState": "RUNNING",
"subTaskStatus": {},
"lifecycleEnable": true
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 500
Des erreurs interne
Body
Media type: application/json
Type: any
Mise à jour d'arborescence
API qui définit les requêtes liées à la mise à jour d'arborescence des unités archivistiques
Lancement d'une ou plusieurs modifications d'arborescence d'unité archivistiques
post /reclassification
Lancement d'une ou plusieurs modifications d'arborescence d'unité archivistiques
Headers
- Accept: required(application/json)
- Content-Type: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
Body
Media type: application/json
Type: array of object
Example:
[
{
"$roots": [],
"$query": [{ "$match": { "Title": "XYZ" } }],
"$action": [
{
"$pull": {
"#unitups": [ "aeaqaaaaaafnrnfpabijualehokvjliaaaaq" ]
},
"$add": {
"#unitups": [ "aeaqaaaaaafnrnfpabijualehok5n5iaaabq" ]
}
}
]
},
{
"$roots": [],
"$query": [{ "$eq": { "#id": "aeaqaaaaaafnrnfpabijualehok5n6yaaaaq" } }],
"$action": [
{
"$add": {
"#unitups": [ "aeaqaaaaaafnrnfpabijualehokvjliaaaaq" ]
}
}
]
}
]
HTTP status code 202
Succès
Endpoints
API qui liste les endpoints de la ressource /access-external/{version}.
Requête qui retourne la liste des endpoints
options /
Requête qui retourne la liste des endpoints
HTTP status code 200
OK, operation in success
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 503
Service Unavailable, the requested service is unavailable
Status
Vérification de l'état de l'api
get /status
Vérification de l'état de l'api
HTTP status code 204
No Content, Used to test existence or for Status
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 401
Unauthorized (restricted operation), authentication in error
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 404
Not Found, requested resource does not exist
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 503
Service Unavailable, the requested service is unavailable
Suppression des versions des groupes d'objets
Opération de suppression des versions des groupes d'objets.
Exécute une opération de suppression des versions des groupes d'objets.
Permissions requises:
- objects:deleteGotVersions
post /deleteGotVersions
Exécute une opération de suppression des versions des groupes d'objets.
Permissions requises:
- objects:deleteGotVersions
Headers
- Accept: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: object
Properties- DslQuery: required(object)
Contient la requête de recherche
- $roots: required(array of string)
Contient les racines de la recherche
- $query: required(array of object)
Contient plusieurs requêtes
Items:
- $threshold: (integer - minimum: 1 - maximum: 100000000)
Contient le seuil du traitement de masse (optionnel)
- $filter: (object)
- $offset: (integer - minimum: 1 - maximum: 100000)
- $limit: (integer - minimum: 1 - maximum: 100000)
- $orderby: (object)
- $projection: (object)
- $fields: (object)
- $fields: (object)
Example:
{ "$roots": [ "guid1", "guid2" ], "$query": [ { "$eq": { "myField1": "myValue" }, "$depth": 4 } ], "$threshold": 1000 }
- $roots: required(array of string)
- UsageName: required(string)
Le nom d'usage pour le groupe d'objet
- SpecificVersions: required(array of integer)
Liste des versions des groupes d'objets à supprimer
Examples:
{
"dslQuery": {
"$roots": [],
"$query": [
{
"$eq": {
"#id": "aeaqaaaaaaezyoa6abacealifcom6xyaaaaq"
}
}
],
"$threshold": 40
},
"UsageName": "BinaryMaster",
"SpecificVersions": [
2,
3,
4
]
}
{
"UsageName" : "BinaryMaster",
"SpecificVersions": [2,3],
"DslQuery": {
"$query":[{"$in":{"#id":["aeaqaaaaaafzhvpkabpjaalwkjvgeyqaaaaq"]}}]
}
}
{
"UsageName" : "BinaryMaster",
"SpecificVersions": [2,3],
"DslQuery": {
"$query":[{"$in":{"#id":["aeaqaaaaaafzhvpkabpjaalwkjvgeyqaaaaq"]}}]
}
}
HTTP status code 200
Success
Body
Media type: application/json
Type: any
HTTP status code 202
Renvoie le statut de l'opération de suppression des versions des groupes d'objets
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la réponse
Examples:
{
"httpCode": 202
}
{
"httpCode" : 202
}
{
"httpCode" : 202
}
HTTP status code 412
Precondition Failed, some predicates are incorrect, therefore the operation is not possible
Body
Media type: application/json
Type: any
HTTP status code 500
Renvoie le statut final de l'opération de suppression des groupes d'objets en KO
Body
Media type: application/json
Type: any
Gestion des demandes d'accès depuis offre froide.
APIs de gestion des demandes d'accès à des objets depuis une offre froide.
Vérification du statut d'un lot de demandes d'accès.
Pour chaque demande d'accès, un statut est renvoyé :
- READY : La demande d'accès est prête.
- NOT_READY : La demande d'accès est n'est pas encore prête.
- EXPIRED : La demande d'accès a expiré.
- NOT_FOUND : La demande d'accès n'est pas trouvée (supprimée, purgée au bout d'un délais après expiration, non existante ou non visible depuis le contexte du tenant d'appel...)
L'appelant doit monitorer périodiquement le statut des demandes d'accès (typiquement toutes les quelques minutes ou heures). Une fréquence d'appel trop rapide peut avoir un impact sur les performances de l'offres en particulier, et de Vitam en général.
Une demande d'accès est uniquement visible dans le contexte de son tenant, et sera donc perçue comme NOT_FOUND depuis tout autre tenant.
Permissions requises:
- accessrequests:check
Suppression d'une demande d'accès.
Une fois une demandes d'accès supprimée, la disponibilité des données n'est alors plus garantie.
La suppression d'une demande d'accès inexistante est sans effet (idempotence). De même, une demande d'accès est uniquement visible dans le contexte de son tenant.
IMPORTANT: Les demandes d'accès créées doivent être supprimées au plus vite, dès que la donnée a été récupérée. Un trop grand nombre et/ou volume de demandes d'accès non supprimées risque d'impacter les capacité de stockage du cache de l'offre « froide », et la stabilité de l'offre.
Permissions requises:
- accessrequests:remove
get /accessRequests
Vérification du statut d'un lot de demandes d'accès.
Pour chaque demande d'accès, un statut est renvoyé :
- READY : La demande d'accès est prête.
- NOT_READY : La demande d'accès est n'est pas encore prête.
- EXPIRED : La demande d'accès a expiré.
- NOT_FOUND : La demande d'accès n'est pas trouvée (supprimée, purgée au bout d'un délais après expiration, non existante ou non visible depuis le contexte du tenant d'appel...)
L'appelant doit monitorer périodiquement le statut des demandes d'accès (typiquement toutes les quelques minutes ou heures). Une fréquence d'appel trop rapide peut avoir un impact sur les performances de l'offres en particulier, et de Vitam en général.
Une demande d'accès est uniquement visible dans le contexte de son tenant, et sera donc perçue comme NOT_FOUND depuis tout autre tenant.
Permissions requises:
- accessrequests:check
Headers
- Accept: required(application/json)
- Content-Type: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: array of AccessTypes.AccessRequestReference
Items: Les références d'une demande d'accès d'une stratégie stockage « froide »
- accessRequestId: required(string)
L'identifiant de la demande d'accès
- storageStrategyId: required(string)
Stratégie de stockage associée à la demande d'accès
Example:
{
"accessRequestId": "aeaaaaaaaag5nq65ag2cgal54k3u7aqaaaaq",
"storageStrategyId": "tape"
}
Example:
[
{
"accessRequestId": "aeaaaaaaaag5nq65ag2cgal54mxefmqaaaaq",
"storageStrategyId": "tape"
},
{
"accessRequestId": "aeaaaaaaaahjpju4ab4wgal54rrp2vaaaaaq",
"storageStrategyId": "tape"
}
]
HTTP status code 200
Renvoie le statut pour chacune des demandes d'accès.
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
Body
Media type: application/json
Type: object
Properties- httpCode: required(integer)
Http status code la réponse
- $results: required(array of AccessTypes.StatusByAccessRequestReference)
Statuts pour chaque demandes d'accès
Items: Le statut d'une demande d'accès sur stratégie stockage « froide »
- accessRequestReference: required(object)
La demande d'accès concernée
- accessRequestId: required(string)
L'identifiant de la demande d'accès
- storageStrategyId: required(string)
Stratégie de stockage associée à la demande d'accès
Example:
{ "accessRequestId": "aeaaaaaaaag5nq65ag2cgal54k3u7aqaaaaq", "storageStrategyId": "tape" }
- accessRequestId: required(string)
- accessRequestStatus: required(one of READY, NOT_READY, EXPIRED, NOT_FOUND)
Le statut de la demande d'accès
Example:
{ "accessRequestReference": { "accessRequestId": "aeaaaaaaaag5nq65ag2cgal54mxefmqaaaaq", "storageStrategyId": "tape" }, "accessRequestStatus": "NOT_FOUND" }
- accessRequestReference: required(object)
Example:
{
"httpCode": 200,
"$hits": {
"total": 1,
"offset": 0,
"limit": 0,
"size": 1
},
"$results": [
{
"accessRequestReference": {
"accessRequestId": "aeaaaaaaaag5nq65ag2cgal54mxefmqaaaaq",
"storageStrategyId": "tape"
},
"accessRequestStatus": "EXPIRED"
},
{
"accessRequestReference": {
"accessRequestId": "aeaaaaaaaahjpju4ab4wgal54rrp2vaaaaaq",
"storageStrategyId": "tape"
},
"accessRequestStatus": "READY"
}
],
"$facetResults": [],
"$context": {}
}
HTTP status code 406
Not Acceptable, requested action is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Internal Server Error, the server encountered an unexpected condition which prevented it from fulfilling the request
delete /accessRequests
Suppression d'une demande d'accès.
Une fois une demandes d'accès supprimée, la disponibilité des données n'est alors plus garantie.
La suppression d'une demande d'accès inexistante est sans effet (idempotence). De même, une demande d'accès est uniquement visible dans le contexte de son tenant.
IMPORTANT: Les demandes d'accès créées doivent être supprimées au plus vite, dès que la donnée a été récupérée. Un trop grand nombre et/ou volume de demandes d'accès non supprimées risque d'impacter les capacité de stockage du cache de l'offre « froide », et la stabilité de l'offre.
Permissions requises:
- accessrequests:remove
Headers
- Accept: required(application/json)
- Content-Type: required(application/json)
- X-Application-Id: (string)
Session Identifier from client Front-Office Application
Example:
SESSION-ID-00001
- X-Personal-Certificate: (string)
Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.
Example:
MIIGfzCCBGegAwIBAgICAPcwDQYJK...
- X-Tenant-Id: required(number)
Unique Tenant Identifier.
Example:
0
- X-Access-Contract-Id: required(string)
Unique Access Contract Identifier. Allow read/write access on specific archive unit.
Example:
Access-Contract-00001
Body
Media type: application/json
Type: AccessTraits.AccessTypes.accessRequestReference
Example:
{
"accessRequestId": "aeaaaaaaaag5nq65ag2cgal54mxefmqaaaaq",
"storageStrategyId": "tape"
}
HTTP status code 200
Succès du traitement de la requête.
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 406
Not Acceptable, requested action is not allowed
Headers
- X-Request-Id: required(string)
Unique Request Identifier
Example:
aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq
HTTP status code 500
Internal Server Error, the server encountered an unexpected condition which prevented it from fulfilling the request