# API-Vitam - Logbook version v1

https://api.vitam.gouv.fr/access-external/{version}

- version: required(v1)

### Avertissements

Cette version d'API présente des fonctionnalités sous différents statuts :

- Supportées : rien n'est spécifié, la fonctionnalité ou la donnée est supportée

Pour le détail du modèle de chaque collection, se référer à la documentation du modèle de données.

### Licence

Ce document est distribué sous les termes de la Licence Ouverte V2.0

### API Logbook

L'API de Journalisation propose les points d'entrées et les méthodes pour requêter et récupérer les informations des Journaux.

# API Logbook externe

Dans le projet Vitam, Les API externes supportent le POST-X-HTTP-OVERRIDE=GET. Les API internes ne supportent que le GET.

# Operations

operations est le point d'entrée pour tous les journaux des opérations réalisées dans Vitam (Journal du Service d'Archivage Électronique).

Le rôle du journal d'opération est de conserver une trace des opérations réalisées au sein du système lors de traitements sur des lots d'archives.

Chaque étape au sein d'une opération est tracée.

Évènements tracés par exemple :

- Démarrage de l'Ingest avec affectation d'un eventIdentifierProcess (OperationId)
- Fin d'une étape de workflow
- Fin d'un workflow
- Fin de l'Ingest

# UnitLifeCycles

logbookunitlifecycles est le point d'entrée pour tous les journaux de cycle de vie des Units dans Vitam. Le rôle des journaux de cycles de vie des Units est de conserver l'ensemble des événements associés à une unité archivistique. Les événements associés sont du type :

- création
- indexation des métadonnées
- modification de métadonnées
- élimination
- audit
- gel
- ...

Important : l'identifiant d'un Unit lifecycle est également l'identifiant du Unit correspondant dans le service Access. Ainsi il est possible une fois une opération terminée de demander la liste des Units qui sont concernés par cette opération en demandant la liste des UnitLifeCycles de cette opération. Les identifiants remontés sont alors les mêmes pour accéder au journal du cycle de vie d'une Unit (/unitlifecycles/{id}) ou à sa description et ses métadonnées de gestion (/units/{id}).

# ObjectLifeCycles

logbookobjectslifecycles est le point d'entrée pour tous les journaux de cycle de vie des objets dans Vitam. Le rôle des journaux de cycles de vie des objets est de conserver l'ensemble des événements associés à un Objet. Les événements associés sont du type :

- création
- check de conformité (empreinte, format, taille)
- transformation de format
- élimination
- audit
- gel
- ...

Important : l'identifiant d'un Object lifecycle est également l'identifiant de l'Objet correspondant dans le service Access. Ainsi il est possible une fois une opération terminée de demander la liste des Objects qui sont concernés par cette opération en demandant la liste des ObjectLifeCycles de cette opération. Les identifiants remontés sont alors les mêmes pour accéder au journal du cycle de vie d'un Object (/logbookobjectslifecycles/{id}) ou à sa description technique (/objects/{id}).

### Operations Logbooks

API d'accès aux Journaux d'opérations (Logbooks Operations). Ce point d'entrée permet de chercher une opération (entrée, audit, élimination, préservation, ...). La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de journaux d'opérations selon le DSL Vitam en cas de succès. La recherche sur cette API retourne pour chaque opération, la première entrée (la création à la date de démarrage de l'opération) et la dernière entrée (dans l'état connu par le journal à la date de la dernière étape de cette opération).

#### /logbookoperations get post

get

Requête qui retourne des résultats contant des Journaux d'opérations. 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'Unités d'archives selon le DSL Vitam en cas de succès.

post

Requête qui retourne des résultats contant des Journaux d'opérations. La requête utilise POST avec X-Http-Method-Override: GET. 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'Unités d'archives selon le DSL Vitam en cas de succès.

#### get /logbookoperations

Requête qui retourne des résultats contant des Journaux d'opérations. 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'Unités d'archives selon le DSL Vitam en cas de succès.

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

- $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 200

Renvoie la liste des résultats des journaux d'opérations 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": 12,
        "size": 2,
        "offset": 10,
        "limit": 100
      },
      "$context": {
        "$query":{
          "$range": {
            "evDateTime": {
              "$gte": "2014-01-10", "$lte": "2016-03-10"
            }
          }
        },
        "$filter": { "$limit": 100, "$offset": 10 },
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        },
        {
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "outcome" : "OK",
          "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"
      }]
    }

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

Requête qui retourne des résultats contant des Journaux d'opérations. La requête utilise POST avec X-Http-Method-Override: GET. 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'Unités d'archives selon le DSL Vitam en cas de succès.

### Headers

- X-Http-Method-Override: (GET)
- X-Application-Id: (string)

  Session Identifier from client Front-Office Application

  Example:

      SESSION-ID-00001

- X-Personal-Certificate: (string)

  Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.

  Example:

      MIIGfzCCBGegAwIBAgICAPcwDQYJK...

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

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

Renvoie la liste des résultats des journaux d'opérations 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": 12,
        "size": 2,
        "offset": 10,
        "limit": 100
      },
      "$context": {
        "$query":{
          "$range": {
            "evDateTime": {
              "$gte": "2014-01-10", "$lte": "2016-03-10"
            }
          }
        },
        "$filter": { "$limit": 100, "$offset": 10 },
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        },
        {
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "outcome" : "OK",
          "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"
      }]
    }

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

#### /logbookoperations/{idOp} get post

Accès à une opération. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne les informations spécifiées (projection indiquée dans la requête) pour l'opération donnée.

get

Requête qui retourne des informations spécifiées sur un journal d'opération. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux d'opérations contenant 1 seul résultat selon le DSL Vitam en cas de succès.

post

Requête qui retourne des informations spécifiées sur un journal d'opération. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux d'opérations contenant 1 seul résultat selon le DSL Vitam en cas de succès.

#### get /logbookoperations/{idOp}

Requête qui retourne des informations spécifiées sur un journal d'opération. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux d'opérations contenant 1 seul résultat selon le DSL Vitam en cas de succès.

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

### Body

Media type: application/json

Type: object

Properties

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal d'opération correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

## 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 /logbookoperations/{idOp}

Requête qui retourne des informations spécifiées sur un journal d'opération. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux d'opérations contenant 1 seul résultat selon le DSL Vitam en cas de succès.

### URI Parameters

- idOp: required(string)

  Identifiant de l'opération

### Headers

- X-Http-Method-Override: (GET)
- X-Application-Id: (string)

  Session Identifier from client Front-Office Application

  Example:

      SESSION-ID-00001

- X-Personal-Certificate: (string)

  Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.

  Example:

      MIIGfzCCBGegAwIBAgICAPcwDQYJK...

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

### Body

Media type: application/json

Type: object

Properties

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal d'opération correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

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

### Unit Life Cycle Logbook

API d'accès aux Journaux de cycle de vie des Unités d'archives. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de journaux de cycles de vie d'Unités d'archives selon le DSL Vitam en cas de succès. La recherche sur cette API retourne uniquement la première ligne et la dernière connue pour chaque journal du cycle de vie.

#### /logbookunitlifecycles/{id_lfc} get post

Accès à un cycle de vie d'Unité d'archive. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne les informations spécifiées (projection indiquée dans la requête) pour le cycle de vie recherché. Le cycle de vie concerné est retourné en fonction de la projection (si la projection n'est pas indiquée, le cycle de vie est retourné complet).

get

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'une Unité d'archive. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

post

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'une Unité d'archive. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

#### get /logbookunitlifecycles/{id_lfc}

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'une Unité d'archive. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

### URI Parameters

- id_lfc: required(string)

  Identifiant du cycle de vie

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

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal de cycle de vie correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

## 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 /logbookunitlifecycles/{id_lfc}

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'une Unité d'archive. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

### URI Parameters

- id_lfc: required(string)

  Identifiant du cycle de vie

### Headers

- X-Http-Method-Override: (GET)
- X-Application-Id: (string)

  Session Identifier from client Front-Office Application

  Example:

      SESSION-ID-00001

- X-Personal-Certificate: (string)

  Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.

  Example:

      MIIGfzCCBGegAwIBAgICAPcwDQYJK...

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

### Body

Media type: application/json

Type: object

Properties

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal de cycle de vie correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

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

### Object Life Cycle Logbook

API d'accès aux Journaux du Cycle de Vie des archives (Object). La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne une liste de journaux de cycles de vie d'Objets selon le DSL Vitam en cas de succès. La recherche sur cette API retourne uniquement la première ligne et la dernière connue pour chaque journal du cycle de vie.

#### /logbookobjectslifecycles/{id_lfc} get post

Accès à un cycle de vie (Object). La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne les informations spécifiées (projection indiquée dans la requête) pour le cycle de vie recherché. Le cycle de vie concerné est retourné en fonction de la projection (si la projection n'est pas indiquée, le cycle de vie est retourné complet).

get

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'un Objet. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

post

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'un Objet. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

#### get /logbookobjectslifecycles/{id_lfc}

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'un Objet. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

### URI Parameters

- id_lfc: required(string)

  Identifiant du cycle de vie

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

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal de cycle de vie correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

## 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 /logbookobjectslifecycles/{id_lfc}

Requête qui retourne des informations spécifiées sur un journal de cycle de vie d'un Objet. La requête utilise POST avec X-Http-Method-Override: GET. La requête utilise le langage de requête DSL de type recherche unitaire (GET BY ID) de Vitam en entrée et retourne une liste de journaux de cycles de vie contenant 1 seul résultat selon le DSL Vitam en cas de succès.

### URI Parameters

- id_lfc: required(string)

  Identifiant du cycle de vie

### Headers

- X-Http-Method-Override: (GET)
- X-Application-Id: (string)

  Session Identifier from client Front-Office Application

  Example:

      SESSION-ID-00001

- X-Personal-Certificate: (string)

  Personal certificate (in Base64-encoded DER format), required only if this resource needs personal authentification. If the resource requires personal authentication, and no personal certificate has been provided OR the provided personal certificate is unauthorized, the server will return a 401 http status.

  Example:

      MIIGfzCCBGegAwIBAgICAPcwDQYJK...

- X-Tenant-Id: required(number)

  Unique Tenant Identifier.

  Example:

      0

### Body

Media type: application/json

Type: object

Properties

- $projection: (object)

  Contient la projection à appliquer

  - $fields: (object)

Example:

    {
      "$projection": {}
    }

## HTTP status code 200

Renvoie la liste de résultats contenant 1 journal de cycle de vie correspondant à la requête DSL

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: object

Properties

- $context: required(object)

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

  - $projection: (object)

    Contient la projection à appliquer

    - $fields: (object)

  Example:

      {
        "$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:

- $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
              }
            ]
          }
        ]

Example:

    {
      "httpCode": 200,
      "$hits": {
        "total": 1,
        "size": 1,
        "offset": 0,
        "limit": 10000
      },
      "$context": {
        "$projection": {}
      },
      "$results":
      [{
          "eventIdentifier": "entryId",
          "eventType": "CheckSeda",
          "evDateTime": "2015-07-14T17:32:05Z",
          "eventIdentifierProcess": "workflowId",
          "eventTypeProcess": "Ingest",
          "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"
        }]
    }

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

### Endpoints

API qui liste les endpoints de la ressource /access-external/{version}.

#### / options

options

Requête qui retourne la liste des endpoints

#### options /

Requête qui retourne la liste des endpoints

## HTTP status code 200

OK, operation in success

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 404

Not Found, requested resource does not exist

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 503

Service Unavailable, the requested service is unavailable

### /status

#### /status get

get

#### get /status

## HTTP status code 204

No Content, Used to test existence or for Status

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

## HTTP status code 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