> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.goodflag.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.goodflag.com/_mcp/server.

# Signature Helios

> Présentation d'un exemple de requête provisionnée réalisée avec une signature Helios

# Exemples de requête provisionnée

## Helios

L'application demandeuse initie une demande de signature :

```http
POST /api/requests HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/json
Content-Length: 269

{
  "profiles" : {
    "default" : {
      "signatureType" : "helios",
      "signatureLevel" : "b",
      "signerLocationCity" : "Troyes",
      "signerLocationPostalCode" : "10000",
      "signerLocationCountry" : "France",
      "signerRoles" : "Finance"
    }
  }
}
```

Un objet demande est renvoyé :

```json
{
  "clientId" : "01",
  "created" : 1787667778991,
  "id" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm",
  "params" : {
    "bypassViewer" : "false"
  },
  "profiles" : {
    "default" : {
      "forceScrollDocument" : "false",
      "signatureLevel" : "b",
      "signatureType" : "helios",
      "signerLocationCity" : "Troyes",
      "signerLocationCountry" : "France",
      "signerLocationPostalCode" : "10000",
      "signerRoles" : "Finance"
    }
  },
  "status" : "created",
  "updated" : 1787667778991
}
```

L'application demandeuse téléverse le contenu du document (un fichier PES Helios au format XML, incluant une pièce jointe PDF encodée en base64) :

```http
POST /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/profiles/default/documents HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?><n:PES_Aller xmlns:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/Rev0/aller" ...>
    <Enveloppe>
        <Parametres>
            <Version V="2"/>
            <TypFic V="PESALR2"/>
            <NomFic V="PESALR2M14_EMET_REC20090318102027.xml"/>
        </Parametres>
        ...
    </Enveloppe>
    ...
    <PES_PJ>
        <PJ>
            <Contenu>
                <Fichier MIMEType="pdf">[contenu du PDF encodé en base64, tronqué]</Fichier>
            </Contenu>
            <IdUnique V="PJDEP200002009MX3501N20090318102443"/>
            <NomPJ V="MX-3501N_20090318_102443.pdf"/>
            <TypePJ V="003"/>
            <Description V="P.J. au mandat n  220 : MISSION SPS"/>
        </PJ>
    </PES_PJ>
</n:PES_Aller>
```

Un objet document est renvoyé :

```json
{
  "created" : 1787667779009,
  "displayedParts" : [ {
    "contentType" : "text/xml",
    "filename" : "Document",
    "hash" : "mn/7ykoyW2byuPsOPJH97JL9hG8pIf7f8f9z/ZZXy1A=",
    "name" : "data",
    "policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf",
    "profileId" : "default",
    "size" : 22376
  } ],
  "id" : "doc_8xTuaXy8LZ6tMjv1hVgC5frs",
  "parts" : [ { "...": "identique à displayedParts" } ],
  "profileId" : "default",
  "requestId" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm",
  "workflowIdx" : 0
}
```

L'application demandeuse passe le statut de la demande de signature à `started` :

```http
POST /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/start HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
```

L'URL de la page de consentement est renvoyée :

```json
{
  "consentPageUrl" : "https://evidence-manager.lex-persona.com/?requestToken=eyJhbGciOiJIUzI1NiJ9...#requestId=req_01_Pc7iJXX1HuADdDN8ZSkEnSkm"
}
```

L'application demandeuse liste les documents signés :

```http
GET /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/signedDocuments HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
```

Une liste d'objets document est renvoyée (le document signé, lié au document d'origine par `linkedDocumentId`) :

```json
[ {
  "created" : 1787667779468,
  "displayedParts" : [ {
    "contentType" : "text/xml",
    "filename" : "Document",
    "hash" : "O9o2CSbzJR1UKiActnF+nJIhxC/fPO3QY2MqL5z0B5Q=",
    "isOriginal" : false,
    "name" : "data",
    "policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf",
    "profileId" : "default",
    "size" : 32843
  } ],
  "id" : "doc_DSmSHwZh2wY8xf7M6EyL7xDn",
  "linkedDocumentId" : "doc_8xTuaXy8LZ6tMjv1hVgC5frs",
  "profileId" : "default",
  "requestId" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm",
  "workflowIdx" : 0
} ]
```

L'application demandeuse télécharge le document signé, qui contient le PES original ainsi qu'une signature XAdES scellant le document (élément `ds:Signature`, avec sa politique de signature Helios, sa chaîne de certificats et son horodatage) :

```http
GET /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/signedDocuments/doc_DSmSHwZh2wY8xf7M6EyL7xDn HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
```