# API-Vitam - Administration Management version v1

https://api.vitam.gouv.fr/admin-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 Registre des fonds

L'API additionnelle sur le Registre des fonds propose les points d'entrées et les méthodes pour requêter et récupérer les informations des collections suivantes :

- Registre des Fonds
- Sommaire
- Détails

# Registre des Fonds

Celui-ci est alimenté automatiquement par le processus d'entrée.

- Le Sommaire inclut les informations générales du fond
- Le Détail inclut les informations détaillées, entrée par entrée du fond concerné

### API Administration

L'API d'administration fonctionnelle propose les points d'entrées et les méthodes pour requêter et récupérer les informations des collections suivantes :

- Référentiel des Formats basé sur PRONOM (TNA)
- Référentiel des Règles de Gestion
- Référentiel des Contrats d'Entrées
- Référentiel des Contrats d'Accès
- Référentiel des Contrats de Gestion
- Référentiel des Contextes
- Référentiel des Profiles de Sécurité
- Référentiel des Ontologies
- Registre des Fonds
- Référentiel des Services Agents
- Référentiel des griffons
- Référentiel des scénarios de préservation
- Opérations

## Tenant d'administration

Certaines APIs dites "cross-tenants" nécessitent une vérification spécifique. Ces opérations doivent être exécutées à partir d'un tenant dit tenant d'administration (configuré comme tel à l'intérieur de VITAM). Il s'agit de s'assurer que pour les collections Formats, Contextes et Profils de sécurité, le tenant utilisé pour l'import soit conforme à celui configuré dans VITAM. En cas de différence, une erreur 401 sera retournée.

# Référentiel des Ontologies

Ce référentiel référence les champs utilisés dans Vitam ainsi que leur méthode d'indexation. Il est trans-tenant.

# Référentiel des Formats

Ce référentiel est basé sur PRONOM (TNA) mais il peut être étendu. Il est trans-tenant.

- Il est possible de mettre à jour ce référentiel via les API.
- Notez cependant que la mise à jour des outils utilisant ce référentiel n'est pas encore opérationnelle. Il n'est donc pas recommandé de mettre à jour ce référentiel avec une autre version que celle livrée par Vitam.

# Référentiel des Règles de Gestion

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel est utilisé lors du processus d'entrée mais il n'est pas encore utilisé par les accès.

# Référentiel des Contrats d'Entrées

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel est utilisé lors du processus d'entrées.

# Référentiel des Contrats d'Accès

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel est utilisé lors des accès.

# Référentiel des Contrats de Gestion

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel est utilisé lors des entrées.

# Référentiel des Contextes

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel n'est pas utilisé lors du processus d'entrée ou des accès.

Il doit faire le lien entre l'authentification (TLS) et les droits et contrats de l'application externe partenaire.

# Référentiel des Profiles de Sécurité

Il est possible de mettre à jour ce référentiel via les API.

Actuellement ce référentiel pour le contrôle d'accès aux API.

# Référentiel des Services Agents

Actuellement ce référentiel est utilisé lors du processus d'entrées.

# Référentiel des griffons

Il est possible de mettre à jour ce référentiel via les API, sur le tenant d'administration.

Ce référentiel est disponible sur tous les tenants.

Actuellement ce référentiel est utilisé lors du processus de préservation

# Référentiel des scénarios de préservation

Il est possible de mettre à jour ce référentiel via les API. Il est par tenant.

Actuellement ce référentiel est utilisé lors du processus de préservation.

# Registre des Fonds

Ce référentiel est utilisé et mis à jour lors du processus d'entrée.

# Gestion des processus

Il est possible de gérer les processus en mode administrateur (CANCEL, PAUSE, NEXT, REPLAY, RESUME).

# Sécurisation des journaux - vérification

traceability/checks est le point d'entrée pour la vérification de la sécurisation des journaux d'opérations dans Vitam.

# Audit d'existence et d'intégrité

Il est possible de vérifier l'existence ou l'intégrité des objets binaires et physiques des groupes d'objets pour :

- un tenant
- un service producteur
- une requête DSL sur des unités archivistiques

Il y a 4 paramètres dans le body :

- auditActions (obligatoire): qui peut avoir comme valeur AUDIT_FILE_EXISTING ou AUDIT_FILE_INTEGRITY pour lancer respectivement l'audit d'existence ou l'audit d'intégrité.
- auditType (obligatoire): avec originatingagency ou tenant ou dsl
- objectId (optionel): doit prendre la valeur de ce qui va être audité. Si auditType indique tenant, objectId doit prendre la valeur du tenant sur lequel on exécute la requête. Si auditType est originatingagency, alors objectId doit être l'identifiant du service producteur dont tous les objets vont être audité. Le paramètre n'est pas utilisé si auditType indique dsl
- query (optionel): doit prendre une requête DSL au format multiple pour batch (doit contenir $roots, $query*et * $threshold)

Trois exemples :

- Audit d'existence sur le producteur dont l'identifiant est "FRAN_09905"

    {
    "auditActions": "AUDIT_FILE_EXISTING",
    "auditType": "dsl",
    "query": {
      "$roots": [],
      "$query": [
        {
          "$eq": {
            "#originating_agency": "FRAN_09905"
          }
        }
      ],
      "$threshold": 1000
    }
    }

- Audit d'intégrité sur tout le tenant 9 avec cette requête lancée sur ce même tenant 9 :

    {
    "auditActions": "AUDIT_FILE_INTEGRITY",
    "auditType": "dsl",
    "query": {
      "$roots": [],
      "$query": [
        {
          "$eq": {
            "#tenant": "9"
          }
        }
      ],
      "$threshold": 1000
    }
    }

- Audit d'existence pour des objets liés à des opérations d'ingests :

    {
    "auditActions": "AUDIT_FILE_EXISTING",
    "auditType": "dsl",
    "query": {
      "$roots": [],
      "$query": [
        {
          "$in": {
            "#operations": [
              "aeaaaaaaaahgotryaauzialjp5zkhgiaaaaq",
              "aecaaaaabohmh3nzab37maljtitg4viaaaaq",
              "aedqaaaaaohmh3nzab37maljtithxsyaaaaq"
            ]
          }
        }
      ],
      "$threshold": 1000
    }
    }

# Audit de cohérence

Il est possible de définir les requêtes pour lancer un audit de cohérence à partir d'une requête DSL.

Remarque : L'audit de cohérence est un workflow lourd qui doit être lancé sur un volume modéré d'unités archivistiques (100K maximum).

Deux exemples de requête :

- Audit de cohérence d'une ou plusieurs opérations :

    {
    "$roots": [],
    "$query": [
      {
        "$and": [
          {
            "$in": {
              "#operations": [
                "#id1",
                "#id2"
              ]
            }
          },
          {
            "$exists": "Title"
          }
        ]
      }
    ],
    "$projection": {}
    }

- Audit de cohérence des unités archivistiques:

    {
    "$query": [
      {
        "$or": [
          {
            "$in": {
              "#id": [
                "aeaqaaaaaee5z5a6aarswalkj64wixyaaaaq",
                "aeaqaaaaaee5z5a6aarswalkj64wguaaaaba",
                "aeaqaaaaaee5z5a6aarswalkj64wizqaaaaq"
              ]
            }
          },
          {
            "$in": {
              "#allunitups": []
            }
          }
        ]
      }
    ],
    "$filter": {},
    "$projection": {}
    }

### FileFormats

API qui définit les requêtes pour accéder au référentiel des Formats. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de formats selon le DSL Vitam en cas de succès.

#### /formats get post

get

Requête qui retourne des résultats contenant des Formats. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Formats selon le DSL Vitam en cas de succès.

Permissions requises:

- formats:read

post

Requête qui retourne des résultats contenant des Formats si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau référentiel à partir d'un fichier PRONOM (see :term:`TNA`).

Permissions requises:

- formats:create

#### get /formats

Requête qui retourne des résultats contenant des Formats. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Formats selon le DSL Vitam en cas de succès.

Permissions requises:

- formats:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Formats 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /formats

Requête qui retourne des résultats contenant des Formats si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau référentiel à partir d'un fichier PRONOM (see :term:`TNA`).

Permissions requises:

- formats:create

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- X-Filename: (string)

  Name of the file uploaded

  Example:

      Rules_v5.csv

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/xml

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Formats 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Formats est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /formats/{idf} get

API qui définit les requêtes pour accéder à un format dans le référentiel des Formats.

get

Retourne une liste de Formats contenant 1 seul résultat en cas de succès.

Permissions requises:

- formats:id:read

#### get /formats/{idf}

Retourne une liste de Formats contenant 1 seul résultat en cas de succès.

Permissions requises:

- formats:id:read

### URI Parameters

- idf: required(string)

  Identifiant du format

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

## HTTP status code 200

Retourne un élément de type Formats

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### FileFormats check

API qui permet de vérifier que le fichier est correct, et peut être importé.

#### /formatsfilecheck post

post

Vérifie si un fichier source PRONOM (see :term:`TNA`) peut être importé comme nouveau Référentiel.

Permissions requises:

- formatsfile:check

#### post /formatsfilecheck

Vérifie si un fichier source PRONOM (see :term:`TNA`) peut être importé comme nouveau Référentiel.

Permissions requises:

- formatsfile:check

### 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

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Formatsfilecheck est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Rules

API qui définit les requêtes pour accéder au référentiel des Règles de gestion. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de règles selon le DSL Vitam en cas de succès.

#### /rules get post

get

Requête qui retourne des résultats contenant des Règles de gestion. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Règles de gestion selon le DSL Vitam en cas de succès.

Permissions requises:

- rules:read

post

Requête qui retourne des résultats contenant des Règles de gestion si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe à partir d'un fichier CSV contenant les définitions des Règles de gestion un nouveau référentiel.

Permissions requises:

- rules:create

#### get /rules

Requête qui retourne des résultats contenant des Règles de gestion. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Règles de gestion selon le DSL Vitam en cas de succès.

Permissions requises:

- rules:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Rules 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /rules

Requête qui retourne des résultats contenant des Règles de gestion si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe à partir d'un fichier CSV contenant les définitions des Règles de gestion un nouveau référentiel.

Permissions requises:

- rules:create

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- X-Filename: (string)

  Name of the file uploaded

  Example:

      Rules_v5.csv

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/csv

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Rules 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Rules est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /rules/{idr} get

API qui définit les requêtes pour accéder à une Règle dans le référentiel des Règles de gestion.

get

Retourne une liste de Règles de gestion contenant 1 seul résultat en cas de succès.

Permissions requises:

- rules:id:read

#### get /rules/{idr}

Retourne une liste de Règles de gestion contenant 1 seul résultat en cas de succès.

Permissions requises:

- rules:id:read

### URI Parameters

- idr: required(string)

  Identifiant de la règle de gestion

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

## HTTP status code 200

Retourne un élément de type Rules

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### FileRules check

API qui permet de vérifier que le fichier est correct, et peut être importé.

#### /rulesfilecheck post

post

Vérifie si un fichier source CSV contenant les définitions des Règles de gestion peut être importé comme nouveau Référentiel.

Permissions requises:

- rulesfile:check

#### post /rulesfilecheck

Vérifie si un fichier source CSV contenant les définitions des Règles de gestion peut être importé comme nouveau Référentiel.

Permissions requises:

- rulesfile:check

### 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

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Rulesfilecheck est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Rules report

Permet de télécharger un objet représentant le rapport d'import des règles en fonction de l'id de l'opération

#### /rulesreport/{idop} get

get

Permet de télécharger un objet représentant le rapport d'import des règles en fonction de l'id de l'opération

Permissions requises:

- rulesreport:id:read

#### get /rulesreport/{idop}

Permet de télécharger un objet représentant le rapport d'import des règles en fonction de l'id de l'opération

Permissions requises:

- rulesreport:id:read

### URI Parameters

- idop: required(string)

  Identifiant de l'opération concerné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

## HTTP status code 200

Retourne un fichier de type Rulesreport

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/octet-stream

Type: any

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### AccessionRegisters

API qui définit les requêtes pour accéder au Registre des Fonds. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de registres selon le DSL Vitam en cas de succès.

#### /accessionregisters get

get

Requête qui retourne des résultats contenant des Registres de Fonds. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Registres de Fonds selon le DSL Vitam en cas de succès.

Permissions requises:

- accessionregisters:read

#### get /accessionregisters

Requête qui retourne des résultats contenant des Registres de Fonds. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Registres de Fonds selon le DSL Vitam en cas de succès.

Permissions requises:

- accessionregisters: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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Accessionregisters 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

#### /accessionregisters/{idar}/accessionregisterdetails get

API qui définit les requêtes pour accéder au détail d'un Fond dans le Registre des Fonds.

get

Retourne une liste de Détails d'un Registre de Fonds contenant 1 seul résultat en cas de succès. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- accessionregisters:id:accessionregisterdetails:read

#### get /accessionregisters/{idar}/accessionregisterdetails

Retourne une liste de Détails d'un Registre de Fonds contenant 1 seul résultat en cas de succès. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- accessionregisters:id:accessionregisterdetails:read

### URI Parameters

- idar: required(string)

  Identifiant du registre des fonds

### 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

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Accessionregisterdetails 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Détails de Registres des fonds

API sur les détails de registres des fonds (AccessionRegisterDetail).

#### /accessionregisterdetails get

get

Recherche sur les détails de registres de fonds grâce à la requête donnée en entrée

Permissions requises:

- accessionregisterdetails:read

#### get /accessionregisterdetails

Recherche sur les détails de registres de fonds grâce à la requête donnée en entrée

Permissions requises:

- accessionregisterdetails:read

### 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: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Accessionregisterdetails 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Access contracts

API qui définit les requêtes pour accéder aux contracs d'accès La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de contrats d'accès selon le DSL Vitam en cas de succès.

#### /accesscontracts get post

get

Requête qui retourne des résultats contenant des Contrats d'accès. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats d'accès selon le DSL Vitam en cas de succès.

Permissions requises:

- accesscontracts:read

post

Requête qui retourne des résultats contenant des Contrats d'accès si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats d'accès qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- accesscontracts:create:json

#### get /accesscontracts

Requête qui retourne des résultats contenant des Contrats d'accès. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats d'accès selon le DSL Vitam en cas de succès.

Permissions requises:

- accesscontracts:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Accesscontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /accesscontracts

Requête qui retourne des résultats contenant des Contrats d'accès si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats d'accès qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- accesscontracts:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    [
      {
        "Name":"DefaultWritePermissions",
        "Identifier": "DefaultWritePermissions",
        "Description":"Contrat Acces - Modiffications authorisés sans précisions supplémentaires",
        "Status" : "ACTIVE",
        "LastUpdate":"10/12/2016",
        "CreationDate":"10/12/2016",
        "ActivationDate":"10/12/2016",
        "DeactivationDate":"10/12/2116",
        "EveryOriginatingAgency": true,
        "WritingPermission": true,
        "RuleCategoryToFilter": [
          "AppraisalRule",
          "DisseminationRule"
        ],
        "RuleCategoryToFilterForTheOtherOriginatingAgencies": [
          "StorageRule",
          "ReuseRule"
        ],
        "DoNotFilterFilingSchemes": true
      }
    ]

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Accesscontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Accesscontracts est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /accesscontracts/{idac} get put

API qui permet de mettre à jour un contrat d'accès via une requête de mise à jour ou d'accéder à un contrat d'accès

get

Retourne une liste de Contrats d'accès contenant 1 seul résultat en cas de succès.

Permissions requises:

- accesscontracts:id:read

put

Requête qui modifie un Contrat d'accès. 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:

- accesscontracts:id:update

#### get /accesscontracts/{idac}

Retourne une liste de Contrats d'accès contenant 1 seul résultat en cas de succès.

Permissions requises:

- accesscontracts:id:read

### URI Parameters

- idac: required(string)

  Identifiant du contrat d'accès

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Accesscontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /accesscontracts/{idac}

Requête qui modifie un Contrat d'accès. 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:

- accesscontracts:id:update

### URI Parameters

- idac: required(string)

  Identifiant du contrat d'accès

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $action: (array of object)

  Contient les actions de mise à jour à appliquer

  Items:

Example:

    {
      "$action": [ { "$set": { "NewField": "New value" } } ]
    }

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si la modification de Accesscontracts est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Ingest contracts

API qui définit les requêtes pour accéder aux contrats d'entrée La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de contrats d'entrée selon le DSL Vitam en cas de succès.

#### /ingestcontracts get post

get

Requête qui retourne des résultats contenant des Contrats d'entrée. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats d'entrée selon le DSL Vitam en cas de succès.

Permissions requises:

- ingestcontracts:read

post

Requête qui retourne des résultats contenant des Contrats d'entrée si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats d'entrée qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- ingestcontracts:create:json

#### get /ingestcontracts

Requête qui retourne des résultats contenant des Contrats d'entrée. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats d'entrée selon le DSL Vitam en cas de succès.

Permissions requises:

- ingestcontracts:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Ingestcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /ingestcontracts

Requête qui retourne des résultats contenant des Contrats d'entrée si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats d'entrée qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- ingestcontracts:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Ingestcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Ingestcontracts est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /ingestcontracts/{idic} get put

API qui permet de mettre à jour un contrat d'entrée via une requête de mise à jour ou d'accéder à un contrat d'entrée

get

Retourne une liste de Contrats d'entrée contenant 1 seul résultat en cas de succès.

Permissions requises:

- ingestcontracts:id:read

put

Requête qui modifie un Contrat d'entrée. 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:

- ingestcontracts:id:update

#### get /ingestcontracts/{idic}

Retourne une liste de Contrats d'entrée contenant 1 seul résultat en cas de succès.

Permissions requises:

- ingestcontracts:id:read

### URI Parameters

- idic: required(string)

  Identifiant du contrat d'entrée

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Ingestcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /ingestcontracts/{idic}

Requête qui modifie un Contrat d'entrée. 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:

- ingestcontracts:id:update

### URI Parameters

- idic: required(string)

  Identifiant du contrat d'entrée

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $action: (array of object)

  Contient les actions de mise à jour à appliquer

  Items:

Example:

    {
      "$action": [ { "$set": { "NewField": "New value" } } ]
    }

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si la modification de Ingestcontracts est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Management contracts

API qui définit les requêtes pour accéder aux contrats de gestion La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de contrats de gestion selon le DSL Vitam en cas de succès.

#### /managementcontracts get post

get

Requête qui retourne des résultats contenant des Contrats de gestion. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats de gestion selon le DSL Vitam en cas de succès.

Permissions requises:

- managementcontracts:read

post

Requête qui retourne des résultats contenant des Contrats de gestion si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats de gestion qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- managementcontracts:create:json

#### get /managementcontracts

Requête qui retourne des résultats contenant des Contrats de gestion. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contrats de gestion selon le DSL Vitam en cas de succès.

Permissions requises:

- managementcontracts:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Managementcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /managementcontracts

Requête qui retourne des résultats contenant des Contrats de gestion si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contrats de gestion qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- managementcontracts:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Managementcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Managementcontracts est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /managementcontracts/{idic} get put

API qui permet de mettre à jour un contrat de gestion via une requête de mise à jour ou d'accéder à un contrat de gestion

get

Retourne une liste de Contrats de gestion contenant 1 seul résultat en cas de succès.

Permissions requises:

- managementcontracts:id:read

put

Requête qui modifie un Contrat de gestion. 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:

- managementcontracts:id:update

#### get /managementcontracts/{idic}

Retourne une liste de Contrats de gestion contenant 1 seul résultat en cas de succès.

Permissions requises:

- managementcontracts:id:read

### URI Parameters

- idic: required(string)

  Identifiant du contrat de gestion

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Managementcontracts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /managementcontracts/{idic}

Requête qui modifie un Contrat de gestion. 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:

- managementcontracts:id:update

### URI Parameters

- idic: required(string)

  Identifiant du contrat de gestion

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $action: (array of object)

  Contient les actions de mise à jour à appliquer

  Items:

Example:

    {
      "$action": [ { "$set": { "NewField": "New value" } } ]
    }

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si la modification de Managementcontracts est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Contexts

API qui définit les requêtes pour accéder aux contextes d'applications externes La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de contextes selon le DSL Vitam en cas de succès.

#### /contexts get post

get

Requête qui retourne des résultats contenant des Contextes. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contextes selon le DSL Vitam en cas de succès.

Permissions requises:

- contexts:read

post

Requête qui retourne des résultats contenant des Contextes si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contextes qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- contexts:create:json

#### get /contexts

Requête qui retourne des résultats contenant des Contextes. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Contextes selon le DSL Vitam en cas de succès.

Permissions requises:

- contexts:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Contexts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /contexts

Requête qui retourne des résultats contenant des Contextes si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un ensemble de contextes qui sont sauvegardés et indexés en cas de succès

Permissions requises:

- contexts:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Contexts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Contexts est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /contexts/{idc} get put

API qui permet de mettre à jour un contexte via une requête de mise à jour ou d'accéder à un contexte

get

Retourne une liste de Contexte contenant 1 seul résultat en cas de succès.

Permissions requises:

- contexts:id:read

put

Requête qui modifie un Contexte. 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:

- contexts:id:update

#### get /contexts/{idc}

Retourne une liste de Contexte contenant 1 seul résultat en cas de succès.

Permissions requises:

- contexts:id:read

### URI Parameters

- idc: required(string)

  Identifiant du contexte

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Contexts 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /contexts/{idc}

Requête qui modifie un Contexte. 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:

- contexts:id:update

### URI Parameters

- idc: required(string)

  Identifiant du contexte

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: any

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Contexts est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Profiles

API qui définit les requêtes pour accéder aux profils La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de profils selon le DSL Vitam en cas de succès.

#### /profiles get post

get

Requête qui retourne des résultats contenant des Profils. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Profils selon le DSL Vitam en cas de succès.

Permissions requises:

- profiles:read

post

Requête qui retourne des résultats contenant des Profils si la requête utilise POST avec X-Http-Method-Override: GET. Dans ce cas la requête doit être au format DSL SELECT SINGLE (Voir DSL API documentation). Sinon, le Content-Type est requis et la requête attend un json en entrée et importe un ensemble de profils qui sont sauvegardés et indexés en cas de succès. L'exemple montre le format du JSON pour l'import de référentiels.

Permissions requises:

- profiles:create:binary

ou

- profiles:create:json

#### get /profiles

Requête qui retourne des résultats contenant des Profils. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Profils selon le DSL Vitam en cas de succès.

Permissions requises:

- profiles:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Profiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /profiles

Requête qui retourne des résultats contenant des Profils si la requête utilise POST avec X-Http-Method-Override: GET. Dans ce cas la requête doit être au format DSL SELECT SINGLE (Voir DSL API documentation). Sinon, le Content-Type est requis et la requête attend un json en entrée et importe un ensemble de profils qui sont sauvegardés et indexés en cas de succès. L'exemple montre le format du JSON pour l'import de référentiels.

Permissions requises:

- profiles:create:binary

ou

- profiles:create:json

### Headers

- X-Http-Method-Override: (GET)

  Requis pour effectuer un GET avec une requête json en body.

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- Content-Type: (one of application/json, application/octet-stream)

  Requis pour importer des profils.

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

### Body

Media type: application/json

Type: any

Example:

    [
      {	"Identifier":"PROFIL_INACTIVE_001",
        "Name":"PROFIL_INACTIVE_001",
        "Description":"PROFIL_INACTIVE_001",
        "Status":"INACTIVE",
        "Format":"RNG",
        "LastUpdate":"10/12/2016",
        "CreationDate":"10/12/2016",
        "ActivationDate":"10/12/2016",
        "DeactivationDate":"10/12/2016"
      },
      {	"Identifier":"PROFIL_002",
        "Name":"PROFIL_002",
        "Description":"PROFIL_002",
        "Status":"ACTIVE",
        "Format":"XSD",
        "LastUpdate":"10/12/2016",
        "CreationDate":"10/12/2016",
        "ActivationDate":"10/12/2016",
        "DeactivationDate":"10/12/2016"
      }
    ]

Media type: application/octet-stream

Type: any

## HTTP status code 200

Retourne un élément de type Profiles

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Profiles est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /profiles/{idp} get put

API qui permet de mettre à jour un profil via une requête de mise à jour ou d'accéder à un profil

get

Permet de faire une requête par identifiant sur un profile si la requête attend application/json. L'identifiant du profile est la chaîne "idp" dans l'URL. Si la requête attend application/octet-stream en réponse, VITAM renvoie alors le fichier XSD ou RNG lié au profile.

Permissions requises:

- profiles:id:read:binary

oui

- profiles:id:read:json

put

Requête qui modifie les métadonnées d'un profil si la requête envoie un json (Content-Type = application/json). Dans ce cas, 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. Sinon, la requête doit spécifier le Content-Type comme application/octet-stream. Dans ce cas, elle permet de mettre à jour le fichier RNG ou XSD lié.

Permissions requises:

- profiles:id:update:binaire

ou

- profiles:id:update:json

#### get /profiles/{idp}

Permet de faire une requête par identifiant sur un profile si la requête attend application/json. L'identifiant du profile est la chaîne "idp" dans l'URL. Si la requête attend application/octet-stream en réponse, VITAM renvoie alors le fichier XSD ou RNG lié au profile.

Permissions requises:

- profiles:id:read:binary

oui

- profiles:id:read:json

### URI Parameters

- idp: required(string)

  Identifiant du profil

### Headers

- Accept: required(one of application/json, application/octet-stream)

  Spécifie la réponse attendue. 'json' pour les métadonénes du profile, 'octet-stream' pour le fichier XSD ou RNG lié.

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Profiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

Media type: application/octet-stream

Type: any

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /profiles/{idp}

Requête qui modifie les métadonnées d'un profil si la requête envoie un json (Content-Type = application/json). Dans ce cas, 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. Sinon, la requête doit spécifier le Content-Type comme application/octet-stream. Dans ce cas, elle permet de mettre à jour le fichier RNG ou XSD lié.

Permissions requises:

- profiles:id:update:binaire

ou

- profiles:id:update:json

### URI Parameters

- idp: required(string)

  Identifiant du profil

### Headers

- Content-Type: (one of application/json, application/octet-stream)

  Requis pour importer des profils.

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: any

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Profiles est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### griffons

Téléverser le référentiel des griffon

#### /griffin get post

get

Permet de télécharger le référentiel des griffons

Permissions requises:

- griffins:read

post

Importer le référentiel des griffons ou annule et remplace le référentiel des griffons existant

Permissions requises:

- griffins:create

#### get /griffin

Permet de télécharger le référentiel des griffons

Permissions requises:

- griffins:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Griffin 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /griffin

Importer le référentiel des griffons ou annule et remplace le référentiel des griffons existant

Permissions requises:

- griffins:create

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Griffin 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Griffin est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /griffin/{id_document} get

API qui permet de télécharger un griffon via l'identifiant du document

get

Permet de faire une requête par identifiant sur un griffon. L'identifiant du griffon est la chaîne "id_document" dans l'URL. la requête renvoie alors le griffon au format json.

Permissions requises:

- griffin:read

#### get /griffin/{id_document}

Permet de faire une requête par identifiant sur un griffon. L'identifiant du griffon est la chaîne "id_document" dans l'URL. la requête renvoie alors le griffon au format json.

Permissions requises:

- griffin:read

### URI Parameters

- id_document: required(string)

  Identifiant du griffon

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Griffin 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### scénario de préservation

Télécharger le référentiel des scénario de préservation

#### /preservationScenario get post

get

Permet de télécharger le référentiel des scénario de préservation

Permissions requises:

- preservationScenarios:read

post

Téléverse le référentiel des scénarios de préservation ou annule et remplace les référentiels existant

Permissions requises:

- preservationScenarios:create

#### get /preservationScenario

Permet de télécharger le référentiel des scénario de préservation

Permissions requises:

- preservationScenarios:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type PreservationScenario 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /preservationScenario

Téléverse le référentiel des scénarios de préservation ou annule et remplace les référentiels existant

Permissions requises:

- preservationScenarios:create

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type PreservationScenario 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de PreservationScenario est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /preservationScenario/{id_document} get

API qui permet de télécharger un scénario de préservation via l'identifiant du document

get

Permet de faire une requête par identifiant sur un scénario de préservation. L'identifiant du scénario de préservation est la chaîne "id_document" dans l'URL. la requête renvoie alors le scénario de préservation au format json.

Permissions requises:

- preservationScenario:read

#### get /preservationScenario/{id_document}

Permet de faire une requête par identifiant sur un scénario de préservation. L'identifiant du scénario de préservation est la chaîne "id_document" dans l'URL. la requête renvoie alors le scénario de préservation au format json.

Permissions requises:

- preservationScenario:read

### URI Parameters

- id_document: required(string)

  Identifiant du scénario de préservation

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type PreservationScenario 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Document Types

API qui définit les requêtes pour accéder aux document types La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de document types selon le DSL Vitam en cas de succès.

#### /archiveunitprofiles get post

get

Requête qui retourne des résultats contenant des Document types. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE - Voir DSL API Documentation) de Vitam en entrée et retourne une liste de Document types selon le DSL Vitam en cas de succès.

Permissions requises:

- archiveunitprofiles:read

post

Requête qui retourne des résultats contenant des Document types si la requête utilise POST avec X-Http-Method-Override: GET. Dans ce cas la requête doit être au format DSL SELECT SINGLE (Voir DSL API documentation). Sinon, le Content-Type est requis et la requête attend un json en entrée et importe un ensemble de Document types qui sont sauvegardés et indexés en cas de succès. L'exemple montre le format du JSON pour l'import de référentiels.

Permissions requises:

- archiveunitprofiles:create:binary

ou

- archiveunitprofiles:create:json

#### get /archiveunitprofiles

Requête qui retourne des résultats contenant des Document types. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE - Voir DSL API Documentation) de Vitam en entrée et retourne une liste de Document types selon le DSL Vitam en cas de succès.

Permissions requises:

- archiveunitprofiles:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Archiveunitprofiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /archiveunitprofiles

Requête qui retourne des résultats contenant des Document types si la requête utilise POST avec X-Http-Method-Override: GET. Dans ce cas la requête doit être au format DSL SELECT SINGLE (Voir DSL API documentation). Sinon, le Content-Type est requis et la requête attend un json en entrée et importe un ensemble de Document types qui sont sauvegardés et indexés en cas de succès. L'exemple montre le format du JSON pour l'import de référentiels.

Permissions requises:

- archiveunitprofiles:create:binary

ou

- archiveunitprofiles:create:json

### Headers

- X-Http-Method-Override: (GET)

  Requis pour effectuer un GET avec une requête json en body.

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- Content-Type: (one of application/json, application/octet-stream)

  Requis pour importer des document types.

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

### Body

Media type: application/json

Type: any

Example:

    [
      {
        "Identifier":"AUP_IDENTIFIER_001",
        "Name":"ArchiveUnitProfile",
        "Description":"Test d'import d'un document type",
        "Status":"ACTIVE",
        "ControlSchema":"{\"$schema\":\"http://vitam-json-schema.org/draft-04/schema#\",\"id\":\"http://example.com/root.json\",\"type\":\"object\",\"properties\":{\"CustomField\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}",
        "LastUpdate":"10/12/2016",
        "CreationDate":"10/12/2016",
        "ActivationDate":"10/12/2016",
        "DeactivationDate":"10/12/2016"
      }
    ]

Media type: application/octet-stream

Type: any

## HTTP status code 200

Retourne un élément de type Archiveunitprofiles

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Archiveunitprofiles est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /archiveunitprofiles/{idp} get put

API qui permet de mettre à jour un document type via une requête de mise à jour ou d'accéder à un document type

get

API qui définit les requêtes pour accéder à un document type via son ID

Permissions requises:

- archiveunitprofiles:id:read:json

put

Requête qui modifie un Document type. 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:

- archiveunitprofiles:id:update:json

#### get /archiveunitprofiles/{idp}

API qui définit les requêtes pour accéder à un document type via son ID

Permissions requises:

- archiveunitprofiles:id:read:json

### URI Parameters

- idp: required(string)

  Identifiant du document type

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Archiveunitprofiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /archiveunitprofiles/{idp}

Requête qui modifie un Document type. 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:

- archiveunitprofiles:id:update:json

### URI Parameters

- idp: required(string)

  Identifiant du document type

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: any

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Archiveunitprofiles est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /archiveunitprofiles/{idp}/schema get

Permet de retourner le schéma d'ontologie de la collection 'UNIT' avec les restrictions liées à ce document type

get

Permet de retourner le schéma d'ontologie de la collection 'UNIT' avec les restrictions liées à ce document type

#### get /archiveunitprofiles/{idp}/schema

Permet de retourner le schéma d'ontologie de la collection 'UNIT' avec les restrictions liées à ce document type

### URI Parameters

- idp: required(string)

  Identifiant du document type

### Headers

- X-Tenant-Id: required(string)
- X-Access-Contract-Id: (string)

## HTTP status code 200

retourner le schéma d'ontologie de la collection 'UNIT' avec les restrictions liées à ce document type.

### Body

Media type: application/json

Type: any

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 696,
        "offset": 0,
        "limit": 0,
        "size": 4
      },
      "$results": [
        {
          "FieldName": "AcquiredDate",
          "SedaField": "AcquiredDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Références : ARKMS.DateAcquired",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de numérisation",
          "Path": "AcquiredDate",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "AcquiredDate",
          "Category": "OTHER"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance ",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "Addressee.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "Addressee.BirthDate",
          "Category": "DESCRIPTION"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance  JJ/MM/AAAA",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "AuthorizedAgent.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "AuthorizedAgent.BirthDate",
          "Category": "DESCRIPTION"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance ",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "Agent.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "Agent.BirthDate",
          "Category": "DESCRIPTION"
        },
        {
          "FieldName": "Agent",
          "Collection": "Unit",
          "ApiPath": "Agent",
          "ApiField": "Agent",
          "Category": "DESCRIPTION",
          "Cardinality": "MANY",
          "EffectiveCardinality": "ONE",
          "Type": "OBJECT",
          "Origin": "INTERNAL",
          "ShortName": "Agent",
          "Path": "Agent",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ]
        },
        {
          "FieldName": "Activity",
          "SedaField": "Activity",
          "Collection": "Unit",
          "ApiPath": "Agent.Activity",
          "ApiField": "Activity",
          "Category": "DESCRIPTION",
          "Description": "Mapping : unit-es-mapping.json. En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.",
          "Cardinality": "MANY",
          "EffectiveCardinality": "ZERO",
          "Type": "TEXT",
          "Origin": "INTERNAL",
          "ShortName": "Activité",
          "Path": "Agent.Activity",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "StringSize": "SHORT",
          "TypeDetail": "STRING"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collection": "Unit",
          "ApiPath": "Agent.BirthDate",
          "ApiField": "BirthDate",
          "Category": "DESCRIPTION",
          "Description": "Mapping : unit-es-mapping.json",
          "Cardinality": "ONE",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "ShortName": "Date de naissance",
          "Path": "Agent.BirthDate",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "TypeDetail": "DATETIME",
          "Control": {
            "Type": "DATETIME"
          }
        },
        {
          "FieldName": "Title",
          "SedaField": "Title",
          "Collection": "Unit",
          "ApiPath": "Title",
          "ApiField": "Title",
          "Category": "DESCRIPTION",
          "Description": "Mapping : unit-es-mapping.json",
          "Cardinality": "ONE",
          "Type": "TEXT",
          "Origin": "INTERNAL",
          "ShortName": "Intitulé *",
          "Path": "Title",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "StringSize": "MEDIUM",
          "TypeDetail": "STRING",
          "Control": {
            "Type": "REGEX",
            "Value": "^FACT_[0-9]{10}$",
            "Comment": "FACT_ suivi de 10 caractères numériques"
          }
        },
        {
          "FieldName": "DescriptionLevel",
          "SedaField": "DescriptionLevel",
          "Collection": "Unit",
          "ApiPath": "DescriptionLevel",
          "ApiField": "DescriptionLevel",
          "Category": "DESCRIPTION",
          "Description": "Mapping : unit-es-mapping.json",
          "Cardinality": "ONE_REQUIRED",
          "Type": "KEYWORD",
          "Origin": "INTERNAL",
          "ShortName": "Niveau de description *",
          "Path": "DescriptionLevel",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "TypeDetail": "ENUM",
          "Control": {
            "Type": "SELECT"
            "Values": [
              "Fonds",
              "Subfonds",
              "Class",
              "collection",
              "Series",
              "Subseries",
              "RecordGrp",
              "SubGrp",
              "File",
              "Item",
              "OtherLevel"
            ]
          }
        }
      ],
      "$facetResults": [],
      "$context": {}
    }

### Security Profiles

API qui définit les requêtes pour accéder aux Profils de Sécurité. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de profils de sécurité selon le DSL Vitam en cas de succès.

#### /securityprofiles get post

get

Requête qui retourne des résultats contenant des Profils de sécurité. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Profils de sécurité selon le DSL Vitam en cas de succès.

Permissions requises:

- securityprofiles:read

post

Requête qui retourne des résultats contenant des Profils de sécurité si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Profil de sécurité.

Permissions requises:

- securityprofiles:create:json

#### get /securityprofiles

Requête qui retourne des résultats contenant des Profils de sécurité. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste de Profils de sécurité selon le DSL Vitam en cas de succès.

Permissions requises:

- securityprofiles:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Securityprofiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /securityprofiles

Requête qui retourne des résultats contenant des Profils de sécurité si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Profil de sécurité.

Permissions requises:

- securityprofiles:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Securityprofiles 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Securityprofiles est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /securityprofiles/{identifier} get put

API qui permet de mettre à jour un profil de sécurité via une requête de mise à jour ou d'accéder à un profil de sécurité

get

Retourne une liste de Profils de sécurité contenant 1 seul résultat en cas de succès.

Permissions requises:

- securityprofiles:id:read

put

Requête qui modifie un Profil de sécurité. 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:

- securityprofiles:id:update

#### get /securityprofiles/{identifier}

Retourne une liste de Profils de sécurité contenant 1 seul résultat en cas de succès.

Permissions requises:

- securityprofiles:id:read

### URI Parameters

- identifier: required(string)

  Identifiant du profil de sécurité

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

## HTTP status code 200

Retourne un élément de type Securityprofiles

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## 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 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 /securityprofiles/{identifier}

Requête qui modifie un Profil de sécurité. 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:

- securityprofiles:id:update

### URI Parameters

- identifier: required(string)

  Identifiant du profil de sécurité

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: any

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Securityprofiles est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Agencies

API qui définit les requêtes pour accéder au référentiel des Agencies. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste d'agencies selon le DSL Vitam en cas de succès.

#### /agencies get post

get

Requête qui retourne des résultats contenant des Agencies. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste d'Agencies selon le DSL Vitam en cas de succès.

Permissions requises:

- agencies:id:read

post

Request that will return results composed of Agencies si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Référentiel d'Agencies.

Permissions requises:

- agencies:create

#### get /agencies

Requête qui retourne des résultats contenant des Agencies. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste d'Agencies selon le DSL Vitam en cas de succès.

Permissions requises:

- agencies:id:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Agencies 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /agencies

Request that will return results composed of Agencies si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Référentiel d'Agencies.

Permissions requises:

- agencies:create

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- X-Filename: (string)

  Name of the file uploaded

  Example:

      Rules_v5.csv

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Agencies 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Agencies est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /agencies/{ida} get

API qui définit les requêtes pour accéder à un Agency dans le référentiel des Agencies.

get

Retourne une liste d'Agencies contenant 1 seul résultat en cas de succès.

#### get /agencies/{ida}

Retourne une liste d'Agencies contenant 1 seul résultat en cas de succès.

### URI Parameters

- ida: required(string)

  Identifiant de l'agency

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

## HTTP status code 200

Retourne un élément de type Agencies

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### FileAgencies check

API qui permet de vérifier que le fichier est correct, et peut être importé.

#### /agenciesfilecheck post

post

Vérifie si un fichier source Agencies peut être importé comme nouveau Référentiel.

Permissions requises:

- agenciesfile:check

#### post /agenciesfilecheck

Vérifie si un fichier source Agencies peut être importé comme nouveau Référentiel.

Permissions requises:

- agenciesfile:check

### 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

Media type: application/octet-stream

Type: any

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 201

Réponse si le versement ou la vérification de Agenciesfilecheck est OK

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Operations

Administration des Workflows Asynchrones (opérations). Certaines opérations devraient être limitées aux seuls administrateurs car elles impactent le back-office.

#### /operations get

get

Requête qui retourne des résultats contenant des opérations.

Permissions requises:

- operations:read

#### get /operations

Requête qui retourne des résultats contenant des opérations.

Permissions requises:

- operations: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

### Body

Media type: application/json

Type: object

Properties

- id: (string)

  Contains a process id

- states: (array of string)

  Contains the states of the processes (valid values = RUNNING, PAUSE, COMPLETED)

- statuses: (array of string)

  Contains the statuses of the processes (valid values = UNKNOWN, STARTED, OK, WARNING, KO, FATAL)

- workflows: (array of string)

  Contains the workflow identifiers of the processes

- listSteps: (array of string)

  Contains the next steps of the processes

- startDateMin: (string)

  Contains the minimum starting date of the processes with format "DD-MM-YYYY"

- startDateMax: (string)

  Contains the maximum starting date of the processes with format "DD-MM-YYYY"

Example:

    {
      "id": "",
      "states": [
        "RUNNING"
      ],
      "statuses": [
        "OK",
        "WARNING"
      ],
      "workflows": [
        "DefaultIngestWorkflow"
      ],
      "listSteps": [
        "STP_OG_STORING",
        "STP_UNIT_STORING"
      ],
      "startDateMin": "01/02/2017",
      "startDateMax": "01/02/2017"
    }

## HTTP status code 200

Returns the list of selected ingest operations

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
    	"httpCode": 200,
    	"$hits": {
    		"total": 3,
    		"size": 3,
    		"offset": 0,
    		"limit": 100
    	},
    	"$context": {
    		"$query": {
    			"$range": {
    				"start_date": {
    					"$gte": "2014-01-10",
    					"$lte": "2014-03-10"
    				}
    			}
    		},
    		"$filter": {
    			"$limit": 100
    		},
    		"$projection": {
    			"$fields": {
    				"#id": 1,
    				"start_date": 1,
    				"state": 1
    			}
    		}
    	},
    	"$results": [
    		{
    			"previousStep": "STP_INGEST_CONTROL_SIP",
    			"nextStep": "STP_OG_CHECK_AND_TRANSFORME",
    			"operation_id": "aedqaaaaacgbcaacabry4ak45ig4cwyaaaaq",
    			"processType": "INGEST",
    			"stepByStep": true,
    			"globalState": "PAUSE",
    			"stepStatus": "OK",
    			"cancellable": true,
    			"forcedCancellation": false,
    			"processDate": "2017-06-27T14:56:29+0000"
    		},
    		{
    			"previousStep": "STP_INGEST_CONTROL_SIP",
    			"nextStep": "STP_OG_CHECK_AND_TRANSFORME",
    			"operation_id": "aedqaaaaacgbcaacabry4ak45cvfn5aaaaaq",
    			"processType": "INGEST",
    			"stepByStep": true,
    			"globalState": "PAUSE",
    			"stepStatus": "OK",
    			"cancellable": true,
    			"forcedCancellation": false,
    			"processDate": "2017-06-27T08:28:16+0000"
    		}
    	]
    }

## HTTP status code 206

Returns the list of selected ingest operations using Cursor

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
    	"httpCode": 200,
    	"$hits": {
    		"total": 3,
    		"size": 3,
    		"offset": 0,
    		"limit": 100
    	},
    	"$context": {
    		"$query": {
    			"$range": {
    				"start_date": {
    					"$gte": "2014-01-10",
    					"$lte": "2014-03-10"
    				}
    			}
    		},
    		"$filter": {
    			"$limit": 100
    		},
    		"$projection": {
    			"$fields": {
    				"#id": 1,
    				"start_date": 1,
    				"state": 1
    			}
    		}
    	},
    	"$results": [
    		{
    			"previousStep": "STP_INGEST_CONTROL_SIP",
    			"nextStep": "STP_OG_CHECK_AND_TRANSFORME",
    			"operation_id": "aedqaaaaacgbcaacabry4ak45ig4cwyaaaaq",
    			"processType": "INGEST",
    			"stepByStep": true,
    			"globalState": "PAUSE",
    			"stepStatus": "OK",
    			"cancellable": true,
    			"forcedCancellation": false,
    			"processDate": "2017-06-27T14:56:29+0000"
    		},
    		{
    			"previousStep": "STP_INGEST_CONTROL_SIP",
    			"nextStep": "STP_OG_CHECK_AND_TRANSFORME",
    			"operation_id": "aedqaaaaacgbcaacabry4ak45cvfn5aaaaaq",
    			"processType": "INGEST",
    			"stepByStep": true,
    			"globalState": "PAUSE",
    			"stepStatus": "OK",
    			"cancellable": true,
    			"forcedCancellation": false,
    			"processDate": "2017-06-27T08:28:16+0000"
    		}
    	]
    }

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /operations/{idop} get put delete head

get

Permet de récupérer le statut de l'opération dont l'identifiant est passée en paramètre Permissions requises:

- operations:id:read

put

Permet de mettre à jour une opération lancée en précisant l'action à exécuter dans le header X-Action-Id; PAUSE pour la mettre en pause, NEXT pour exécuter l'étape suivante, RESUME pour continuer l'exécution de l'opération jusqu'au bout. Cette opération ne devrait être ouverte qu'aux administrateurs

Permissions requises:

- operations:id:update

delete

Permet d'annuler un workflow lancé. Cette opération ne devrait être ouverte qu'aux administrateurs. Certains workflows contiennent des étapes ne pouvant pas être annulées sans que la cohérence des données ne soit affectée. Dans ce cas, l'opération d'annulation sera refusée, sauf si le header X-Force est positionné à true. Une annulation de workflow en mode forcée est faite à vos risques et périls.

Permissions requises:

- operations:id:delete

head

Permet d'obtenir le statut d'une opération

Permissions requises:

- operations:id:read:status

#### get /operations/{idop}

Permet de récupérer le statut de l'opération dont l'identifiant est passée en paramètre Permissions requises:

- operations:id:read

### URI Parameters

- idop: required(string)

  Identifiant de l'opération

### 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

## 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 409

Conflict, operation requested is in conflict with existing data

### 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 /operations/{idop}

Permet de mettre à jour une opération lancée en précisant l'action à exécuter dans le header X-Action-Id; PAUSE pour la mettre en pause, NEXT pour exécuter l'étape suivante, RESUME pour continuer l'exécution de l'opération jusqu'au bout. Cette opération ne devrait être ouverte qu'aux administrateurs

Permissions requises:

- operations:id:update

### URI Parameters

- idop: required(string)

  Identifiant de l'opération

### Headers

- X-Action: required(one of RESUME, NEXT, PAUSE, REPLAY)

  Permet d'influer sur le workflow. RESUME permet de poursuivre le workflow jusqu'à la fin. NEXT permet d'exécuter la prochaine étape pour ensuite se mettre en pause. PAUSE permet de demander la mise en pause du workflow à la fin de l'étape en cours. REPLAY permet de rejouer la dernière étape exécutée.

- 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

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### delete /operations/{idop}

Permet d'annuler un workflow lancé. Cette opération ne devrait être ouverte qu'aux administrateurs. Certains workflows contiennent des étapes ne pouvant pas être annulées sans que la cohérence des données ne soit affectée. Dans ce cas, l'opération d'annulation sera refusée, sauf si le header X-Force est positionné à true. Une annulation de workflow en mode forcée est faite à vos risques et périls.

Permissions requises:

- operations:id:delete

### URI Parameters

- idop: required(string)

  Identifiant de l'opération

### Headers

- X-Force: (string - default: false)

  Permet de forcer l'interruption y compris quand le workflow est en train d'exécuter une étape non-annulable. Valeurs possibles : true et false.

- 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

## HTTP status code 200

L'opération existe et était terminée.

## HTTP status code 202

L'opération existe et a été annulée.

## 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 409

L'opération d'annulation a échoué car la tâche est dans une étape non-annulable, et le mode forcé n'est pas activé.

### 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

#### head /operations/{idop}

Permet d'obtenir le statut d'une opération

Permissions requises:

- operations:id:read:status

### URI Parameters

- idop: required(string)

  Identifiant de l'opération

### 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

## HTTP status code 200

L'opération existe et est terminé, le statut est retourné

## HTTP status code 202

L'opération existe mais n'est pas terminée

## 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

Opération introuvable

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 409

Conflict, operation requested is in conflict with existing data

### 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

### Workflows

Gestion des définitions des Workflows disponibles.

#### /workflows get

get

Requête qui retourne des résultats contenant des définitions de workflow.

Permissions requises:

- workflows:read

#### get /workflows

Requête qui retourne des résultats contenant des définitions de workflow.

Permissions requises:

- workflows: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

## HTTP status code 200

Returns the list of workflow definitions

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode" : 200,
      "$hits": {
        "total": 3,
        "size": 3,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$range": {
            "start_date": {
              "$gte": "2014-01-10",
              "$lte": "2014-03-10"
            }
          }
        },
        "$filter": {
          "$limit": 100
        },
        "$projection": {
          "$fields": {
            "#id": 1,
            "start_date": 1,
            "state": 1
          }
        }
      },
      "$results": [
        {
          "SampleWorkflow": {
            "id": "SampleWorkflow",
            "comment": "Sample Workflow V1",
            "steps": [
              {
                "id": null,
                "workerGroupId": "DefaultWorker",
                "stepName": "STP_PREPARE_CHECK",
                "behavior": "BLOCKING",
                "distribution": {
                  "kind": "REF",
                  "element": ""
                },
                "actions": [
                  {
                    "action": {
                      "actionKey": "PREPARE_1_CHECK",
                      "behavior": "BLOCKING",
                      "in": null,
                      "out": null
                    }
                  },
                  {
                    "action": {
                      "actionKey": "PREPARE_2_CHECK",
                      "behavior": "BLOCKING",
                      "in": null,
                      "out": null
                    }
                  }
                ]
              }
            ]
          },
          "DefaultCheckTraceability": {
            "id": "DefaultCheckTraceability",
            "comment": "Default Check logbook traceability Workflow V1",
            "steps": [
              {
                "id": null,
                "workerGroupId": "DefaultWorker",
                "stepName": "STP_PREPARE_TRACEABILITY_CHECK",
                "behavior": "BLOCKING",
                "distribution": {
                  "kind": "REF",
                  "element": ""
                },
                "actions": [
                  {
                    "action": {
                      "actionKey": "PREPARE_TRACEABILITY_CHECK",
                      "behavior": "BLOCKING",
                      "in": null,
                      "out": [
                        {
                          "value": null,
                          "name": "traceabilityevent.file",
                          "uri": {
                            "prefix": "WORKSPACE",
                            "path": "TraceabilityOperationDetails/EVENT_DETAIL_DATA.json"
                          },
                          "optional": false
                        }
                      ]
                    }
                  }
                ]
              },
              {
                "id": null,
                "workerGroupId": "DefaultWorker",
                "stepName": "STP_MERKLE_TREE",
                "behavior": "BLOCKING",
                "distribution": {
                  "kind": "REF",
                  "element": ""
                },
                "actions": [
                  {
                    "action": {
                      "actionKey": "CHECK_MERKLE_TREE",
                      "behavior": "BLOCKING",
                      "in": [
                        {
                          "value": null,
                          "name": "traceabilityevent.file",
                          "uri": {
                            "prefix": "WORKSPACE",
                            "path": "TraceabilityOperationDetails/EVENT_DETAIL_DATA.json"
                          },
                          "optional": false
                        }
                      ],
                      "out": null
                    }
                  }
                ]
              },
              {
                "id": null,
                "workerGroupId": "DefaultWorker",
                "stepName": "STP_VERIFY_STAMP",
                "behavior": "BLOCKING",
                "distribution": {
                  "kind": "REF",
                  "element": ""
                },
                "actions": [
                  {
                    "action": {
                      "actionKey": "VERIFY_TIMESTAMP",
                      "behavior": "BLOCKING",
                      "in": [
                        {
                          "value": null,
                          "name": "traceabilityevent.file",
                          "uri": {
                            "prefix": "WORKSPACE",
                            "path": "TraceabilityOperationDetails/EVENT_DETAIL_DATA.json"
                          },
                          "optional": false
                        }
                      ],
                      "out": null
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }

## 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 409

Conflict, operation requested is in conflict with existing data

### 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

### Audits

APIs d'audits. Ces points d'entrées permettent de créer des opérations d'audit. Une opération d'audit est volatile, c'est à dire qu'elle disparaîtra dès qu'elle sera terminée. Sa terminaison est liée à la production du rapport et sa récupération par le service ayant effectué l'opération.

#### /audits post

post

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO

Permissions requises:

- audits:create

#### post /audits

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO

Permissions requises:

- audits: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

- auditType: required(originatingagency)

  Type du

Example:

    {
      "auditActions": "AUDIT_FILE_EXISTING",
      "auditType": "dsl",
      "query": {
        "$roots": [],
        "$query": [
          {
            "$in": {
            "#operations": [
                "aeaaaaaaaahgotryaauzialjp5zkhgiaaaaq",
                "aecaaaaabohmh3nzab37maljtitg4viaaaaq",
                "aedqaaaaaohmh3nzab37maljtithxsyaaaaq"
              ]
            }
          }
        ],
        "$threshold": 1000
      }
    }

## HTTP status code 202

Retourne le status de ACCEPTED en cas de succès de la création de l'opération d'Audit

### 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

- 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

- $facetResults: (array of object)

  Contient la resultat facet

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: (object)

  toto

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "offset": 0,
        "limit": 0,
        "size": 1
      },
      "$results": [
        {
          "itemId": "auditId",
          "message": "",
          "globalStatus": "STARTED",
          "statusMeter": [0,1,0,0,0,0,0],
          "data": {},
          "itemsStatus": {},
          "evDetailData": "{}",
          "globalState": "RUNNING",
          "subTaskStatus": {},
          "lifecycleEnable": true
        }
      ],
      "$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 409

Conflict, operation requested is in conflict with existing data

### 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

Retourne le status de KO en cas d'erreur de la création de l'opération d'Audit

### Body

Media type: application/json

Type: any

#### /audits/referential post

Permet de lancer un audit de vérification des référentiels

post

Permet de lancer un audit de vérification du référentiel précisé dans le DSL. Permissions requises:

- referentialaudit:check

#### post /audits/referential

Permet de lancer un audit de vérification du référentiel précisé dans le DSL. Permissions requises:

- referentialaudit: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

### Body

Media type: application/json

Type: object

Examples:

-audit-profile:

    {
      "collectionName": "Profile"
    }

-audit-agencies:

    {
      "collectionName": "Agencies"
    }

## HTTP status code 200

Succès

### Body

Media type: application/json

Type: any

## HTTP status code 400

Precondition Failed

### Body

Media type: application/json

Type: any

### Traceability

API de sécurisation des journaux. Ce point d'entrée permet de vérifier et télécharger une opération de sécurisation des journaux

#### /traceability/{idop}/datafiles get

Permet de télécharger un objet représentant la sécurisation des journaux d'opérations

get

Permet de télécharger un objet représentant la sécurisation des journaux d'opérations en fonction de l'identificant de l'opération à l'origine.

Permissions requises:

- traceability:id:read

#### get /traceability/{idop}/datafiles

Permet de télécharger un objet représentant la sécurisation des journaux d'opérations en fonction de l'identificant de l'opération à l'origine.

Permissions requises:

- traceability:id:read

### URI Parameters

- idop: required(string)

  Identifiant de l'opération concerné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

## HTTP status code 200

Retourne un fichier de type Datafiles

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/octet-stream

Type: any

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Vérification de la sécurisation d'un journal

Permet de lancer un processus de vérification d'une opération de sécurisation

#### /traceabilitychecks post

post

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- traceabilitychecks:create

#### post /traceabilitychecks

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- traceabilitychecks: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

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query":
        { "$range": {
          "evDateTime": {
            "$gte": "2014-01-10", "$lte": "2016-03-10"
          }
        }
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": {}
    }

## HTTP status code 202

Retourne le statut ACCEPTED en cas de succès de l'opération Traceability Check

### 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

- 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

- $facetResults: (array of object)

  Contient la resultat facet

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: (object)

  toto

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "offset": 0,
        "limit": 0,
        "size": 1
      },
      "$results": [
        {
          "itemId": "traceabilityId",
          "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

Returns the final result of the Traceability operation in KO status

### Body

Media type: application/json

Type: any

### Audit de vérification de la sécurisation des journaux

Permet de lancer un processus de vérification des opérations de sécurisations

#### /traceability/linkedchecks post

post

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- traceabilitylinkedchecks:create

#### post /traceability/linkedchecks

response : JSON asynchronous state / HTTP CODE 200 or 500 for KO La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée.

Permissions requises:

- traceabilitylinkedchecks: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

### Body

Media type: application/json

Type: object

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Succès

### Body

Media type: application/json

Type: any

## HTTP status code 400

Precondition Failed

### Body

Media type: application/json

Type: any

## HTTP status code 401

Unauthorized (restricted operation), authentication in error

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 500

Internal Server Error

### Body

Media type: application/json

Type: any

### Valeur Probante

API permettant d'exporter des relevé de valeur probante

#### /probativevalueexport post

post

Lancement d'un export du relevé de valeur probante

Permissions requises:

- probativevalue:create

#### post /probativevalueexport

Lancement d'un export du relevé de valeur probante

Permissions requises:

- probativevalue:create

### 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

- dslQuery: required(object)

  Query DSL to select archive units to audit

  Example:

      {
        "$query": {
          "$exists": "Identifier"
        },
        "$filter": { "$limit": 100, "$offset": 10 },
        "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
      }

- usage: required(string)

  Target binary objet qualifier (`BinaryMaster`, `Thumbnail`...)

- version: required(string)

  Target binary object version (1, 2, ...)

- includeDetachedSigningInformation: (boolean - default: false)

  Extend audit scope to include detached SigningInformation (for units with signed documents declaring a `DetachedSigningRole`, direct child units with a `SigningRole` will be included).

Example:

    {
      "dslQuery": {
        "$query": [
          {
            "$eq": {
              "#id": "aeaqaaaaaahkelqaaas54alhkuxi2byaaaaq"
            }
          }
        ]
      },
      "usage": "BinaryMaster",
      "version": "1",
      "includeDetachedSigningInformation": false
    }

## HTTP status code 202

Succès

### Body

Media type: application/json

Type: any

## HTTP status code 412

Precondition Failed

### Body

Media type: application/json

Type: any

### Audit rectificatif

API permettant de corriger les erreurs remontés lors de l'audit de cohérence

#### /rectificationaudit post

post

Lancement d'un correctif d'audit.

Remarque : L'audit rectificatif est un workflow lourd qui doit être lancé sur un volume modéré d'unités archivistiques (100K maximum).

Permissions requises:

- rectificationaudit:check

#### post /rectificationaudit

Lancement d'un correctif d'audit.

Remarque : L'audit rectificatif est un workflow lourd qui doit être lancé sur un volume modéré d'unités archivistiques (100K maximum).

Permissions requises:

- rectificationaudit: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

### Body

Media type: application/json

Type: string

Example:

    aeaqaaaaaaegpsjrab5oialg53netziaaaba

## HTTP status code 202

Succès

### Body

Media type: application/json

Type: any

## HTTP status code 412

Precondition Failed

### Body

Media type: application/json

Type: any

### Audit de cohérence

API qui définit les requêtes pour générer un audit de cohérence.

#### /evidenceaudit/ post

post

Lancement d'une opération d'audit de cohérence.

Remarque : L'audit de cohérence est un workflow lourd qui doit être lancé sur un volume modéré d'unités archivistiques (100K maximum).

Permissions requises:

- evidenceaudit:check

#### post /evidenceaudit/

Lancement d'une opération d'audit de cohérence.

Remarque : L'audit de cohérence est un workflow lourd qui doit être lancé sur un volume modéré d'unités archivistiques (100K maximum).

Permissions requises:

- evidenceaudit: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

### Body

Media type: application/json

Type: object

Examples:

-audit-aus:

    {
      "$query": [
        {
          "$or": [
            {
              "$in": {
                "#id": [
                  "aeaqaaaaaee5z5a6aarswalkj64wixyaaaaq",
                  "aeaqaaaaaee5z5a6aarswalkj64wguaaaaba",
                  "aeaqaaaaaee5z5a6aarswalkj64wizqaaaaq"
                ]
              }
            },
            {
              "$in": {
                "#allunitups": []
              }
            }
          ]
        }
      ],
      "$filter": {},
      "$projection": {}
    }

-audit-opi:

    {
      "$roots": [],
      "$query": [
        {
          "$and": [
            {
              "$in": {
                "#operations": [
                  "#id1",
                  "#id2"
                ]
              }
            },
            {
              "$exists": "Title"
            }
          ]
        }
      ],
      "$projection": {}
    }

-audit-tenant:

    {
      "$query": [
        {
          "$eq": {
            "#tenant": 0
          }
        }
      ],
      "$projection": {}
    }

## HTTP status code 202

Succès

### Body

Media type: application/json

Type: any

## HTTP status code 400

Precondition Failed

### Body

Media type: application/json

Type: any

## HTTP status code 412

Precondition Failed

### Body

Media type: application/json

Type: any

### Référentiel des règles de gestion

API qui permet de récupérer le fichier original des règles de gestion sous forme de csv

#### /rulesreferential/{opId} get

get

Récupère le fichier original des règles de gestion sous forme de csv à partir de l'id de l'opération

Permissions requises:

- rulesreferential:id:read

#### get /rulesreferential/{opId}

Récupère le fichier original des règles de gestion sous forme de csv à partir de l'id de l'opération

Permissions requises:

- rulesreferential:id:read

### URI Parameters

- opId: required(string)

  Identifiant de l'opération

### Headers

- Accept: required(application/octet-stream)

## HTTP status code 202

Returns the csv file

### Body

Media type: application/octet-stream

Type: any

## HTTP status code 404

Not found, operation could not be found, or csv file attached does not exist

### Body

Media type: application/json

Type: any

## HTTP status code 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Body

Media type: application/json

Type: any

### Référentiel des services agents

API qui permet de récupérer le fichier original des services agents sous forme de csv

#### /agenciesreferential/{opId} get

get

Récupère le fichier original des services agents sous forme de csv à partir de l'id de l'opération

Permissions requises:

- agenciesreferential:id:read

#### get /agenciesreferential/{opId}

Récupère le fichier original des services agents sous forme de csv à partir de l'id de l'opération

Permissions requises:

- agenciesreferential:id:read

### URI Parameters

- opId: required(string)

  Identifiant de l'opération

### Headers

- Accept: required(application/octet-stream)

## HTTP status code 202

Returns the csv file

### Body

Media type: application/octet-stream

Type: any

## HTTP status code 404

Not found, operation could not be found, or csv file attached does not exist

### Body

Media type: application/json

Type: any

## HTTP status code 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Body

Media type: application/json

Type: any

### Ontologies

API qui définit les requêtes pour accéder au référentiel des Ontologies. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste d'ontologies selon le DSL Vitam en cas de succès.

#### /ontologies get post

get

Requête qui retourne des résultats contenant des ontologies. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste d'Ontologies selon le DSL Vitam en cas de succès.

Permissions requises:

- ontologies:read

post

Requête qui retourne des résultats contenant des Ontologies si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Référentiel d'Ontologies.

Permissions requises:

- ontologies:read

ou

- ontologies:create:json

#### get /ontologies

Requête qui retourne des résultats contenant des ontologies. La requête utilise le langage de requête DSL de type recherche simple (SELECT SINGLE) de Vitam en entrée et retourne une liste d'Ontologies selon le DSL Vitam en cas de succès.

Permissions requises:

- ontologies:read

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

## HTTP status code 200

Renvoie la liste des résultats de type Ontologies 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 206

Partial Content, pagination involved

### 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 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 /ontologies

Requête qui retourne des résultats contenant des Ontologies si la requête utilise POST avec X-Http-Method-Override: GET. Si il n'y a pas de X-Http-Method-Override, la requête importe un nouveau Référentiel d'Ontologies.

Permissions requises:

- ontologies:read

ou

- ontologies:create:json

### Headers

- X-Http-Method-Override: (GET)
- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

- Force-Update: (string)

  Permet de forcer l'import de l'ontologie en ignorant les contrôles de cohérence (changement de typage incompatibles avec l'ontologie actuelle, suppression de champs d'ontologie internes...). Valeurs possibles : true et false.

- X-Filename: (string)

  Name of the file uploaded

  Example:

      Rules_v5.csv

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

### Body

Media type: application/json

Type: object

Properties

- $query: required(object)

  Contient une requête

- $filter: (object)

  Contains filter to apply (for GET only)

  - $offset: (integer - minimum: 1 - maximum: 100000)
  - $limit: (integer - minimum: 1 - maximum: 100000)
  - $orderby: (object)
- $projection: (object)

  Contains projection to apply (for GET only)

  - $fields: (object)
- $facets: (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

  - $filters: (object)
    - $query_filters: required(array of object)

      Items: items

      - $name: required(string)
      - $query: required(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

  - $sum: (object)
    - $field: required(string)

      Example:

          #qualifiers.versions.Size

    - $subobject: required(string)

      Example:

          #qualifiers.versions

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

Media type: application/octet-stream

Type: any

## HTTP status code 200

Renvoie la liste des résultats de type Ontologies 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 le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## HTTP status code 201

Réponse si le versement ou la vérification de Ontologies est OK

## HTTP status code 206

Partial Content, pagination involved

### 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 409

Conflict, operation requested is in conflict with existing data

### 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

#### /ontologies/{ido} get

API qui définit les requêtes pour accéder à une ontologie dans le référentiel des Ontologies.

get

Retourne une liste d'Ontologies contenant 1 seul résultat en cas de succès.

Permissions requises:

- ontologies:id:read:json

#### get /ontologies/{ido}

Retourne une liste d'Ontologies contenant 1 seul résultat en cas de succès.

Permissions requises:

- ontologies:id:read:json

### URI Parameters

- ido: required(string)

  Identifiant de l'ontologie

### Headers

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

- X-Access-Contract-Id: (string)

  Unique Access Contract Identifier. Allow read/write access on specific archive unit.

  Example:

      Access-Contract-00001

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

## HTTP status code 200

Retourne un élément de type Ontologies

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $facetResults: (array of object)

  Contient le résultat des facettes

  Items:

  Example:

      "$facetResults": [
          {
            "name":"qualifiers_qualifier_size",
            "singleValueFacet":
              {
                "value":15.0
              }
          },
          {
            "name": "qualifiers_qualifier_DataObjectVersion",
            "buckets": [
              {
                "value": "BinaryMaster_1",
                "count": 2
              },
              {
                "value": "Dissemination_1",
                "count": 2
              },
              {
                "value": "PhysicalMaster_1",
                "count": 2
              }
            ]
          }
        ]

- $context: required(object)

  Contient la requête DSL liée à la réponse

  - $query: required(object)

    Contient une requête

  - $filter: (object)

    Contains filter to apply (for GET only)

    - $offset: (integer - minimum: 1 - maximum: 100000)
    - $limit: (integer - minimum: 1 - maximum: 100000)
    - $orderby: (object)
  - $projection: (object)

    Contains projection to apply (for GET only)

    - $fields: (object)
  - $facets: (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

    - $filters: (object)
      - $query_filters: required(array of object)

        Items: items

        - $name: required(string)
        - $query: required(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

    - $sum: (object)
      - $field: required(string)

        Example:

            #qualifiers.versions.Size

      - $subobject: required(string)

        Example:

            #qualifiers.versions

  Example:

      {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      }

- 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

- $results: required(array of object)

  Contient la list des résultats

  Items:

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 52,
        "size": 2,
        "offset": 0,
        "limit": 100
      },
      "$context": {
        "$query": {
          "$eq": {
            "myField1": "myValue"
          }
        },
        "$filter": {
          "$limit": 100,
          "$offset": 50
        },
        "$projection": {
          "$fields": {
            "myField1": 1,
            "myField2.mySubField": 1
          }
        }
      },
      "$results": [
        {
          "myField1": "myValue1",
          "myField2.mySubField": "mySubValue1"
        },
        {
          "myField1": "myValue2",
          "myField2.mySubField": "mySubValue2"
        }
      ],
      "$facetResults": [
        {
          "name": "facet_name",
          "buckets": [
            {
              "value": "value1",
              "count": "long_value1"
            },
            {
              "value": "value2",
              "count": "long_value2"
            }
          ]
        }
      ]
    }

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Alpha - Pause Process

Force new operations to pause. This is alpha endpoint

#### /forcepause post

post

pause operations on a given tenant and/or type

Permissions requises:

- forcepause:check

#### post /forcepause

pause operations on a given tenant and/or type

Permissions requises:

- forcepause:check

### 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

### Body

Media type: application/json

Type: object

Properties

- type: required(string)

  operation type to be paused. null value mean "all types". Should be one of LogbookTypeProcess.java value.

- tenant: required(number)

  operation tenant to be paused. null value mean "all tenants".

- pauseAll: required(boolean)

  force pause for all operation and tenants. Must be "true" to force all pause. Override potential values of tenant/type in this request.

Example:

    {
      "type": "INGEST",
      "tenant": 1,
      "pauseAll": false
    }

### Alpha - Remove Pause on Precess

Remove the "Must pause" on operations. This is alpha endpoint

#### /removeforcepause post

post

Remove "Must Pause" for operations on a given tenant and/or type

Permissions requises:

- removeforcepause:check

#### post /removeforcepause

Remove "Must Pause" for operations on a given tenant and/or type

Permissions requises:

- removeforcepause:check

### 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

### Body

Media type: application/json

Type: object

Properties

- type: required(string)

  operation type to be unpaused. null value mean "all types". Should be one of LogbookTypeProcess.java value.

- tenant: required(number)

  operation tenant to be unpaused. null value mean "all tenants".

- pauseAll: required(boolean)

  remove pause for all operation and tenants. Must be "false" in order to remove all pause. Override potential values of tenant/type in this request.

Example:

    {
      "type": "INGEST",
      "tenant": 1,
      "pauseAll": false
    }

### Registres de fonds symboliques

API sur les registres de fonds symboliques.

#### /accessionregisterssymbolic get

get

Recherche sur les registres de fonds symboliques grâce à la requête donnée en entrée

Permissions requises:

- accessionregisterssymbolic:read

#### get /accessionregisterssymbolic

Recherche sur les registres de fonds symboliques grâce à la requête donnée en entrée

Permissions requises:

- accessionregisterssymbolic:read

### 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: any

Example:

    {
      "$query": {
        "$exists": "Identifier"
      },
      "$filter": { "$limit": 100, "$offset": 10 },
      "$projection": { "$fields": { "#id": 1, "start_date": 1, "state": 1 } }
    }

### Beta - Journalisation externe

API permettant d'intégrer des journaux d'opération externes.

#### /logbookoperations post

post

Beta - Requête qui insère une opération externe dans le journal des opérations

Permissions requises:

- logbookoperations:create

#### post /logbookoperations

Beta - Requête qui insère une opération externe dans le journal des opérations

Permissions requises:

- logbookoperations: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

### Body

Media type: application/json

Type: object

Example:

    {
        "eventIdentifier": "entryId",
        "eventType": "EXT_OPERATION",
        "evDateTime": "2015-07-14T17:32:05Z",
        "eventIdentifierProcess": "workflowId",
        "eventTypeProcess": "EXTERNAL_LOGBOOK",
        "outcome" : "STARTED",
        "eventOutcomeDetail": "404_123456",
        "eventOutcomeDetailMessage": "Error message",
        "agentIdentifier": "server_identifier",
        "agentIdentifierApplication": "remoteApplicationId",
        "agentIdentifierApplicationSession": "X-AID",
        "eventIdentifierRequest": "W-Request-Id",
        "agentIdentifierSubmission": "Submission_agency_Id",
        "agentIdentifierOriginating": "Originating_agency_Id",
        "objectIdentifier": "Object_or_SIP_Id",
        "objectIdentifierRequest": "Request_selecting_objects",
        "objectIdentifierIncome": "MessageIdentifier_in_SEDA",
        "events": []
      }

## HTTP status code 201

L'opération a bien été créée dans VITAM

## HTTP status code 400

L'opération n'est pas au format exigé. Ou alors la valeur des champs eventTypeProcess ou eventType est incorrecte eventTypeProcess doit avoir pour valeur "EXTERNAL", eventType doit commencer par "EXT_".

## HTTP status code 409

L'opération existe déjà

## HTTP status code 500

Internal Server Error, le serveur a rencontré une erreur

### Endpoints

API qui liste les endpoints de la ressource /admin-external/{version}.

#### / options

options

Request that will return list of endpoints

#### options /

Request that will return list of 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

### /batchreport/{ido}

Permet de télécharger le rapport pour un traitement de masse (Elimination, Preservation, Audit, Mise à jour, Suppression des versions des groupes d'objets)

#### /batchreport/{ido} get

get

Permet de télécharger le rapport pour un traitement de masse (Elimination, Preservation, Audit, Mise à jour, Suppression des versions des groupes d'objets)

Permissions requises:

- batchreport:id:read

#### get /batchreport/{ido}

Permet de télécharger le rapport pour un traitement de masse (Elimination, Preservation, Audit, Mise à jour, Suppression des versions des groupes d'objets)

Permissions requises:

- batchreport:id:read

### URI Parameters

- ido: required(string)

  Identifiant de l'opération concerné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

## HTTP status code 200

Retourne un fichier de type Batchreport

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/octet-stream

Type: any

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### /distributionreport/{ido}

Permet de télécharger le rapport pour une opération de mise à jour de masse distribuée

#### /distributionreport/{ido} get

get

Permet de télécharger le rapport pour une opération de mise à jour de masse distribuée

Permissions requises:

- distributionreport:id:read

#### get /distributionreport/{ido}

Permet de télécharger le rapport pour une opération de mise à jour de masse distribuée

Permissions requises:

- distributionreport:id:read

### URI Parameters

- ido: required(string)

  Identifiant de l'opération concerné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

## HTTP status code 200

Retourne un fichier de type Distributionreport

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/octet-stream

Type: any

## 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 412

Precondition Failed, some predicates are incorrect, therefore the operation is not possible

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### /schema/unit

Permet de retourner le schéma d'ontologie de la collection 'UNIT'

#### /schema/unit get post

get

Permet de retourner le schéma d'ontologie de la collection 'UNIT'

post

#### get /schema/unit

Permet de retourner le schéma d'ontologie de la collection 'UNIT'

## HTTP status code 200

retourner le schéma d'ontologie de la collection 'UNIT'.

### Body

Media type: application/json

Type: any

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 696,
        "offset": 0,
        "limit": 0,
        "size": 4
      },
      "$results": [
        {
          "FieldName": "AcquiredDate",
          "SedaField": "AcquiredDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Références : ARKMS.DateAcquired",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de numérisation",
          "Path": "AcquiredDate",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "AcquiredDate",
          "Category": "OTHER"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance ",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "Addressee.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "Addressee.BirthDate",
          "Category": "DESCRIPTION"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance  JJ/MM/AAAA",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "AuthorizedAgent.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "AuthorizedAgent.BirthDate",
          "Category": "DESCRIPTION"
        },
        {
          "FieldName": "BirthDate",
          "SedaField": "BirthDate",
          "Collections": [
            "Unit"
          ],
          "Description": "Date de naissance ",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "Indexed": "true",
          "ShortName": "Date de naissance",
          "Path": "Agent.BirthDate",
          "SedaVersions": [
            "2.1"
          ],
          "Cardinality": "ONE",
          "StringSize": "SHORT",
          "ApiPath": "Agent.BirthDate",
          "Category": "DESCRIPTION"
        }
      ],
      "$facetResults": [],
      "$context": {}
    }

#### post /schema/unit

### Headers

- X-Http-Method-Override: (string)
- X-Tenant-Id: required(string)
- X-Access-Contract-Id: (string)

### Body

Media type: application/json

Type: any

Example:

    [
      {
        "IsObject": true,
        "Cardinality": "MANY",
        "Path": "Invoice",
        "ShortName": "Facture"
      },
      {
        "IsObject": true,
        "Cardinality": "MANY",
        "Path": "Invoice.Provider",
        "ShortName": "Provider"
      },
      {
        "Cardinality": "ONE",
        "Path": "Invoice.Provider.BirthDate",
        "ShortName": "Date de naissance"
      }
    ]

Media type: Permissions requises

Type: schema:unit:create

### /schema/objectgroup

Permet de retourner le schéma d'ontologie de la collection 'OBJECT_GROUP'

#### /schema/objectgroup get

get

Permet de retourner le schéma d'ontologie de la collection 'OBJECT_GROUP'

#### get /schema/objectgroup

Permet de retourner le schéma d'ontologie de la collection 'OBJECT_GROUP'

## HTTP status code 200

retourner le schéma d'ontologie de la collection 'OBJECT_GROUP'.

### Body

Media type: application/json

Type: any

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 696,
        "offset": 0,
        "limit": 0,
        "size": 3
      },
      "$results": [
        {
          "FieldName": "Algorithm",
          "Path": "_qualifiers.versions.Algorithm",
          "Indexed": "true",
          "Cardinality": "ONE",
          "ShortName": "Algorithme",
          "Origin": "INTERNAL",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "Collections": [
            "ObjectGroup"
          ],
          "Type": "KEYWORD",
          "SedaField": "Algorithm",
          "Description": "Algorithme",
          "ApiPath": "_qualifiers.versions.Algorithm"
        },
        {
          "FieldName": "_glpd",
          "Collections": [
            "ObjectGroup"
          ],
          "Description": "Mapping : unit-es-mapping.json",
          "Type": "DATE",
          "Origin": "INTERNAL",
          "ApiField": "#graph_last_persisted_date",
          "Indexed": "false",
          "ShortName": "_glpd",
          "Path": "_glpd",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "Cardinality": "ONE",
          "ApiPath": "#graph_last_persisted_date"
        },
        {
          "FieldName": "_nbc",
          "Collections": [
            "ObjectGroup"
          ],
          "Description": "Nombre d'objets correspondant à un usage ou à un groupe d'objets.",
          "Type": "LONG",
          "Origin": "INTERNAL",
          "ApiField": "_nbc",
          "Indexed": "true",
          "ShortName": "Nombre d'objets",
          "Path": "_nbc",
          "SedaVersions": [
            "2.1",
            "2.2",
            "2.3"
          ],
          "Cardinality": "ONE",
          "ApiPath": "_nbc"
        }
      ],
      "$facetResults": [],
      "$context": {}
    }

### Beta - Configuration

API qui permet d'accéder à la configuration publique de Vitam.

#### /configuration get

get

Requête qui retourne la configuration publique de Vitam. Uniquement accessible depuis le tenant d'administration.

NB. Cette API est Beta. Elle peut changer dans une prochaine release.

Permissions requises:

- configuration:read

#### get /configuration

Requête qui retourne la configuration publique de Vitam. Uniquement accessible depuis le tenant d'administration.

NB. Cette API est Beta. Elle peut changer dans une prochaine release.

Permissions requises:

- configuration:read

## HTTP status code 200

Configuration publique de Vitam

### Body

Media type: application/json

Type: any

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "offset": 0,
        "limit": 0,
        "size": 1
      },
      "$results": [
        {
          "tenants": [ 0, 1, 2, 3 ],
          "adminTenant": 1,
          "indexInheritedRulesWithAPIV2OutputByTenant": [ 0, 1 ],
          "indexInheritedRulesWithRulesIdByTenant": [ 0, 1, 2 ],
          "externalReferentialIdentifiersByTenant": {
            "0": [ "INGEST_CONTRACT", "ACCESS_CONTRACT", "MANAGEMENT_CONTRACT", "ARCHIVE_UNIT_PROFILE" ],
            "1": [ "INGEST_CONTRACT", "ACCESS_CONTRACT", "MANAGEMENT_CONTRACT", "PROFILE", "ARCHIVE_UNIT_PROFILE", "CONTEXT" ]
          },
          "distributionThreshold": 100000,
          "eliminationAnalysisThreshold": 100000,
          "eliminationActionThreshold": 10000,
          "computedInheritedRulesThreshold": 100000000,
          "classificationLevel": {
            "allowList": [ "Secret Défense", "Confidentiel Défense", "Non protégé" ],
            "authorizeNotDefined": true
          }
        }
      ]
    }