# API-Vitam - Ingest version v1

https://api.vitam.gouv.fr/ingest-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 Ingest

L'API d'Entrées propose les points d'entrées et les méthodes pour récupérer les informations des Entrées.

L'entrée se fait via une API compatible strictement SEDA ArchiveTransfer :

- le body transmis contient un ZIP contenant lui-même :
- un fichier manifest.xml qui est le fichier SEDA répondant à la description d'un ArchiveTransfer
- un répertoire "content" contenant les objets numériques d'archives
- la réponse, une fois le traitement terminé, est un fichier XML répondant à la description d'un ArchiveTransferReply

# Ingests

Ingests est le point de lancement des opérations d'entrées.

Le mode opératoire est le suivant :

- Le client lance une opération d'entrée en faisant un POST sur la collection Ingests. Une réponse 202 (Accepted) est retournée avec un identifiant de la collection Operations.
- Le client lance une requête sur l'API d'administration fonctionnelle afin de récupérer le statut de l'opération d'Ingest. Le client peut réinterroger le statut de l'opération d'ingest, et ce de manière raisonnée.
- Le client peut récupérer un ou plusieurs rapports une fois l'opération terminée en faisant un GET sur la collection Ingests (archivetransferreply ou manifests) en précisant l'identifiant de l'opération.

## Statut après soumission d'une entrée

La structuration d'un Statut est la suivante :

    {
    "#id": "idIngests",
    "httpCode" : 202,
    "code" : 123456,
    "context": "ingest",
    "state": "Running",
    "message": "The ingest is in progress",
    "description": "The application 'Xxxx' requested an ingest operation and this operation is in progress.",
    "start_date": "2014-01-10T03:06:17.396Z"
    }

## Rapport final d'une entrée

Deux rapports sont disponibles une fois l'opération terminée :

- Accusé de Réception (ArchiveTransferReply) au format XML via GET /ingests/{id}/archivetransferreply
- Bordereau de versement (fichier SEDA d'origine) via GET /ingests/{id}/manifests

### Ingests

API de versement (Ingest). Ce point d'entrée permet de créer une transaction de versement. Une transaction d'entrée 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 de transfert ayant effectué l'entrée.

Créé une transaction d'entrée :

- une requête unique, avec un 'body' contenant toutes les informations dans un ZIP ou un TAR ou un TAR.GZ ou TAR.BZ2:
- Métadonnées dans un format SEDA XML de nom manifest.xml
- Tous les binaires dans le répertoire "/content"
- une requête unique, avec un 'body' contenant un chemin vers un fichier binaire présent sur le disque local du dossier spécifié dans la configuration de l'ingest externe. Le format du body est json.
- d'autres formes pourront être implémentées dans des versions ultérieures (multipart/form-data) avec de multiples requêtes utilisant les sous-collections futures Units et Objects

#### /ingests post

post

response : JSON asynchronous state / HTTP CODE 202 or 500 for KO

#### post /ingests

response : JSON asynchronous state / HTTP CODE 202 or 500 for KO

### Headers

- X-Action: required(one of RESUME, NEXT)

  Il indique le type de workflow à exécuter : RESUME correspond au mode nominal, NEXT correspond au mode pas à pas

- X-Context-Id: (one of DEFAULT_WORKFLOW, BLANK_TEST, FILING_SCHEME, HOLDING_SCHEME)

  Il indique le workflow à exécuter DEFAULT_WORKFLOW pour lancer le workflow INGEST (avec toutes les étapes) ou BLANK_TEST pour lancer le workflow INGEST-TEST (test à blanc sans les étapes de stockage d'objets et d'indéxation des UA et des GOT) ou encore FILING_SCHEME pour les plans de classements et enfin HOLDING_SCHEME pour les arbres de positionnement

- X-Manifest-Digest-Value: (string)

  Il indique, si présent, la valeur de l'empreinte attendue du manifest du versement en cours (ex. 3112e4f4f66c70f0565b95ea270c7488f074ace3ab28f74feaa975751b424619ff429490416f1c4b630361ab16f0bb5f16d92f5a867e6f94c886464e95f82ca5). Doit être spécifié en même temps que l'entête X-Manifest-Digest-Algo

- X-Manifest-Digest-Algo: (one of SHA-512, SHA-384, SHA-256)

  Il indique, si présent, l'algorithme de l'empreinte du manifest du versement en cours. Doit être spécifié en même temps que l'entête X-Manifest-Digest-Value

- 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/zip

Type: any

Media type: application/x-tar

Type: any

Media type: application/x-gzip

Type: any

Media type: application/x-bzip2

Type: any

Media type: application/json

Type: any

Example:

    {"path": "Local_SIP.zip"}

## HTTP status code 202

Returns the status of ingest operation accepted

### Headers

- X-Global-Execution-State: required(string)

  Example:

      PAUSE

- X-Global-Execution-Status: required(string)

  Example:

      UNKNOWN

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/json

Type: any

## HTTP status code 500

Returns the final result of the Ingest operation in KO status

### Body

Media type: application/xml

Type: any

#### /ingests/{operationId}/{type} get

Télécharger un objet associé au processus INGEST (archivetransferreply ou manifests)

get

Permet de télécharger un objet en précisant l'identifiant de l'opération à l'origine de l'objet et son type (archivetransferreply ou manifests)

#### get /ingests/{operationId}/{type}

Permet de télécharger un objet en précisant l'identifiant de l'opération à l'origine de l'objet et son type (archivetransferreply ou manifests)

### URI Parameters

- operationId: required(string)

  Identifiant de l'opération sous forme d'un GUID

- type: required(one of manifests, archivetransferreply)

  Type de l'objet à télécharger

### 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 final result of the Ingest operation

### Headers

- X-Request-Id: required(string)

  Unique Request Identifier

  Example:

      aeeaaaaaachmj6ciaa5nwalv3rsu4laaaaaq

### Body

Media type: application/xml

Type: any

Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <ArchiveTransferReply xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1"
                          xmlns:ns2="http://www.w3.org/1999/xlink"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fr:gouv:culture:archivesdefrance:seda:v2.1 seda-vitam-2.1-main.xsd">
        <Date>2020-08-06T17:41:33.527+02:00</Date>
        <MessageIdentifier>aeeaaaaaace2txtzabdlkaltyrxo4siaaaaq</MessageIdentifier>
        <ArchivalAgreement>IC-000001</ArchivalAgreement>
        <CodeListVersions>
            <ReplyCodeListVersion>ReplyCodeListVersion0</ReplyCodeListVersion>
            <MessageDigestAlgorithmCodeListVersion>MessageDigestAlgorithmCodeListVersion0</MessageDigestAlgorithmCodeListVersion>
            <FileFormatCodeListVersion>FileFormatCodeListVersion0</FileFormatCodeListVersion>
        </CodeListVersions>
        <DataObjectPackage>
            <DataObjectGroup id="ID29">
                <BinaryDataObject id="ID30">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsypiaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsypqaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID38">
                <BinaryDataObject id="ID39">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsyrqaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyryaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID17">
                <BinaryDataObject id="ID18">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsymqaaaba</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsynaaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID50">
                <BinaryDataObject id="ID51">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsytyaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyuiaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID32">
                <BinaryDataObject id="ID33">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsypyaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyqiaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID11">
                <BinaryDataObject id="ID12">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsyliaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsymaaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID44">
                <BinaryDataObject id="ID45">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsysqaaaba</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsytaaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID41">
                <BinaryDataObject id="ID42">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsysaaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsysqaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID20">
                <BinaryDataObject id="ID21">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsynaaaaba</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsynqaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID14">
                <BinaryDataObject id="ID15">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsymaaaaba</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsymqaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID47">
                <BinaryDataObject id="ID48">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsytiaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsytqaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID26">
                <BinaryDataObject id="ID27">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsyoiaaaba</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyoyaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID23">
                <BinaryDataObject id="ID24">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsynyaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyoiaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DataObjectGroup id="ID35">
                <BinaryDataObject id="ID36">
                    <DataObjectSystemId>aeaaaaaaaae2txtzaadjwaltyrxsyqqaaaaq</DataObjectSystemId>
                    <DataObjectGroupSystemId>aebaaaaaaae2txtzaadjwaltyrxsyriaaaaq</DataObjectGroupSystemId>
                    <DataObjectVersion>BinaryMaster_1</DataObjectVersion>
                </BinaryDataObject>
            </DataObjectGroup>
            <DescriptiveMetadata>
                <ArchiveUnit id="ID19">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyxiaaaaq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID16">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyxaaaaaq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID49">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy3iaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID28">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyxyaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID40">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy2qaaabq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID43">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy2yaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID10">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy4aaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID22">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyxiaaabq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID52">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy3qaaaaq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID31">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyyaaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID25">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyxqaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID37">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy2qaaaaq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID34">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyyiaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID13">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsyuqaaaaq</SystemId>
                    </Content>
                </ArchiveUnit>
                <ArchiveUnit id="ID46">
                    <Content>
                        <SystemId>aeaqaaaaaae2txtzaadjwaltyrxsy3aaaaba</SystemId>
                    </Content>
                </ArchiveUnit>
            </DescriptiveMetadata>
            <ManagementMetadata/>
        </DataObjectPackage>
        <ReplyCode>OK</ReplyCode>
        <MessageRequestIdentifier>OK_texte_14BinaryMaster_fmts</MessageRequestIdentifier>
        <GrantDate>2020-08-06T17:41:33.528+02:00</GrantDate>
        <ArchivalAgency>
            <Identifier>Identifier4</Identifier>
        </ArchivalAgency>
        <TransferringAgency>
            <Identifier>Identifier5</Identifier>
        </TransferringAgency>
    </ArchiveTransferReply>

## HTTP status code 400

Returns the final error status of the Ingest operation

### Body

Media type: application/xml

Type: any

Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <ArchiveTransferReply xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1"
                          xmlns:ns2="http://www.w3.org/1999/xlink"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fr:gouv:culture:archivesdefrance:seda:v2.1 seda-vitam-2.1-main.xsd">
        <Date>2020-11-26T23:11:34.838Z</Date>
        <MessageIdentifier>aeeaaaaaachk7bs6abo3walwa3jx6vyaaaaq</MessageIdentifier>
        <CodeListVersions>
            <ReplyCodeListVersion></ReplyCodeListVersion>
            <MessageDigestAlgorithmCodeListVersion></MessageDigestAlgorithmCodeListVersion>
            <FileFormatCodeListVersion></FileFormatCodeListVersion>
        </CodeListVersions>
        <DataObjectPackage>
            <DescriptiveMetadata/>
            <ManagementMetadata/>
        </DataObjectPackage>
        <ReplyCode>KO</ReplyCode>
        <Operation>
            <Event>
                <EventTypeCode>STP_INGEST_CONTROL_SIP</EventTypeCode>
                <EventType>Processus de contrôle du SIP</EventType>
                <EventDateTime>2020-11-26T23:11:34.307</EventDateTime>
                <Outcome>KO</Outcome>
                <OutcomeDetail>STP_INGEST_CONTROL_SIP.KO</OutcomeDetail>
                <OutcomeDetailMessage>Échec du processus du contrôle du bordereau du SIP</OutcomeDetailMessage>
            </Event>
            <Event>
                <EventTypeCode>CHECK_HEADER</EventTypeCode>
                <EventType>Vérification générale du bordereau de transfert</EventType>
                <EventDateTime>2020-11-26T23:11:34.307</EventDateTime>
                <Outcome>KO</Outcome>
                <OutcomeDetail>CHECK_HEADER.UNKNOWN.KO</OutcomeDetail>
                <OutcomeDetailMessage>Échec de la vérification générale du bordereau de transfert : donnée référentielle inconnue Detail=  KO:1</OutcomeDetailMessage>
                <EventDetailData>{"evDetTechData":"error originating agency validation[ \"FRAN_NP_000002\" ]","EvDetailReq":"Jeu de test OK comprenant un objet binaire et un objet physique","ArchivalAgreement":"IC-000001"}</EventDetailData>
            </Event>
            <Event>
                <EventTypeCode>CHECK_HEADER.CHECK_AGENT</EventTypeCode>
                <EventType>Vérification de la présence et du contrôle des services agents</EventType>
                <EventDateTime>2020-11-26T23:11:34.307</EventDateTime>
                <Outcome>KO</Outcome>
                <OutcomeDetail>CHECK_HEADER.CHECK_AGENT.UNKNOWN.KO</OutcomeDetail>
                <OutcomeDetailMessage>Échec de la vérification de la présence et du contrôle des services agents : services agents inconnus du référentiel des services agents Detail=  KO:1</OutcomeDetailMessage>
            </Event>
        </Operation>
        <MessageRequestIdentifier></MessageRequestIdentifier>
        <GrantDate>2020-11-26T23:11:34.840Z</GrantDate>
    </ArchiveTransferReply>

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

### Endpoints

API qui liste les endpoints de la ressource /ingest-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

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