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

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

# Exemples de requête provisionnée

## XAdES

L'application demandeuse initie une demande de signature :

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

{
  "params" : {
    "signerEmail" : "john.doe@my-idp.com"
  },
  "profiles" : {
    "default" : {
      "signatureType" : "xades"
    }
  }
}
```

Un objet demande est renvoyé :

```json
{
  "clientId" : "01",
  "created" : 1787667780884,
  "id" : "req_01_7rt8ZAjrA5eGHCvSS9jrrsfK",
  "params" : {
    "bypassViewer" : "false",
    "signerEmail" : "john.doe@my-idp.com"
  },
  "profiles" : {
    "default" : {
      "forceScrollDocument" : "false",
      "signatureType" : "xades"
    }
  },
  "status" : "created",
  "updated" : 1787667780884
}
```

L'application demandeuse téléverse le contenu du document (un message ISO 20022 au format XML) :

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

<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:acmt.007.001.01">
    <AcctOpngReq>
        <Refs>
            <MsgId>
                <Id>ABC/090928/CCT001</Id>
                <CreDtTm>2010-09-28T14:07:00</CreDtTm>
            </MsgId>
            ...
        </Refs>
        <Acct>...</Acct>
        <Org>
            <FullLglNm>ABC Corporation</FullLglNm>
            ...
        </Org>
        <DgtlSgntr>
            <Pty><Nm>Carlo</Nm></Pty>
            <Sgntr/>
        </DgtlSgntr>
    </AcctOpngReq>
</Document>
```

Un objet document est renvoyé :

```json
{
  "created" : 1787667780905,
  "displayedParts" : [ {
    "contentType" : "application/xml",
    "filename" : "Document",
    "hash" : "DQEgUi1bh9sQS8t0j1B6mo7oCWJ4idcv2MbhyJX9LKw=",
    "name" : "data",
    "profileId" : "default",
    "size" : 2759
  } ],
  "id" : "doc_EAZ4upQccujH3HnHsttfiwNt",
  "profileId" : "default",
  "requestId" : "req_01_7rt8ZAjrA5eGHCvSS9jrrsfK",
  "workflowIdx" : 0
}
```

L'application demandeuse passe le statut de la demande de signature à `started`, puis liste et télécharge le document signé (qui contient le message d'origine avec, cette fois, la signature XAdES insérée en tant qu'élément enveloppant `ds:Signature`) :

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

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

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