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

# Créer la requête provisionnée

> Initier et paramétrer une requête provisionnée pour permettre le lancement d'un parcours de consentement

# Provisionnement de la demande

Une demande de signature peut être provisionnée en effectuant les appels suivants à l'API REST du Request Manager depuis le backend, en transmettant la clé API dans l'en-tête d'autorisation :

#### Provisionnement d'une requête de signature

* Créer une demande de signature et obtenir un ID de demande,

* Téléverser les documents que vous souhaitez rattacher à la demande de signature,

* Passer le statut de la demande de signature à `started`.

> Pensez à toujours effectuer ces appels depuis le backend de votre application demandeuse. La clé API configurée [précédemment](/rm/api-reference/introduction#prerequis) dans le fichier `client.properties` doit être stockée et **conservée secrète** dans l'application demandeuse.

## Créer une demande

Voici comment l'application demandeuse initie une demande de signature pour une signature serveur :

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

{
  "params" : {
    "signerEmail" : "john.doe@my-idp.com"
  }
}
```

Remarquez comment nous pouvons imposer l'identité du signataire en transmettant des déclarations (claims) sur son identité.

Un objet demande est renvoyé, incluant un ID de demande :

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

> Consultez la [documentation API relative à la création d'une requête](/rm/api-reference/documentation-api/cle-api/requests/create-request) pour plus d'informations sur ce point d'entrée.

### Paramètres de la demande

Les paramètres de demande peuvent être configurés dans le fichier `client.properties` afin de s'appliquer à toutes les demandes de signature provisionnées par une application demandeuse spécifique. Par exemple, voici comment imposer la locale dans la page de consentement :

```
params.locale=fr
```

> Consultez la section [*Guides > Opération > Configuration*](/rm/guides/operation/configuration) pour plus d'informations sur le fichier `client.properties`.

Par commodité, les paramètres de demande peuvent également être transmis à la création de la demande :

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

{
  "params" : {
    "locale" : "fr"
  }
}
```

### Profils de signature

Un profil de signature est un ensemble de paramètres de signature appliqués lors de la signature d'un document. Les profils de signature peuvent être configurés dans le fichier `client.properties` afin d'être disponibles pour toutes les demandes de signature provisionnées par une application demandeuse spécifique.

```
profiles.myProfile.signatureType=pades
profiles.myProfile.signatureLevel=lta
profiles.myProfile.forceScrollDocument=true
```

> Consultez la section [*Guides > Opération > Configuration*](/rm/guides/operation/configuration) pour plus d'informations sur le fichier `client.properties`.

## Téléverser les documents

Pour chaque document à signer, l'application demandeuse téléverse le contenu du document, en transmettant l'ID de la demande dans l'URL et le nom de fichier dans un en-tête HTTP :

```http
POST /api/requests/req_01_6V3nZjiXXcMkrtUwZy4Ljj2K/profiles/default/documents HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Disposition: attachment; filename="document.pdf"
Content-Type: application/pdf

%PDF-1.3
%[contenu binaire du fichier PDF]
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
...
```

Un objet document est renvoyé :

```json
{
  "created" : 1787667779665,
  "displayedParts" : [ {
    "contentType" : "application/pdf",
    "filename" : "document.pdf",
    "hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=",
    "name" : "data",
    "profileId" : "default",
    "size" : 12341
  } ],
  "id" : "doc_PCaHAgw3UfT1S5D32Rt2q8s4",
  "parts" : [ {
    "contentType" : "application/pdf",
    "filename" : "document.pdf",
    "hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=",
    "name" : "data",
    "profileId" : "default",
    "size" : 12341
  } ],
  "profileId" : "default",
  "requestId" : "req_01_6V3nZjiXXcMkrtUwZy4Ljj2K",
  "workflowIdx" : 0
}
```

> Consultez la [documentation API relative à l'ajout de documents](/rm/api-reference/documentation-api/cle-api/documents/create-document) pour plus d'informations sur ce point d'entrée.

Par commodité, les profils de signature peuvent également être configurés par demande de signature, en transmettant des paramètres à la création de la demande :

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

{
  "profiles" : {
    "myProfile" : {
      "signatureType" : "pades",
      "signatureLevel" : "lta",
      "forceScrollDocument" : "true"
    }
  }
}
```

Un profil de signature spécifique peut ensuite être utilisé lors du téléversement d'un document en transmettant l'ID du profil dans l'URL :

```http
POST /api/requests/req_01_K4g2LkhhAXvruWbtt2KWM6ag/profiles/myProfile/documents HTTP/1.1
Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Content-Type: application/pdf

%PDF-1.3
%[contenu binaire du fichier PDF]
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
...
```

## Démarrer la demande

Une fois les documents à signer téléversés, l'application demandeuse passe le statut de la demande de signature à `started`, en transmettant l'ID de la demande dans l'URL :

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

L'URL de la page de consentement est renvoyée, incluant un jeton de demande :

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

> Consultez la [documentation API relative au lancement de la requête](/rm/api-reference/documentation-api/cle-api/requests/start-request) pour plus d'informations sur ce point d'entrée.