---
title: "Qualified electronic signature"
url: "https://docs.signnow.com/docs/qualified-electronic-signature"
type: "page"
section: "Documentation"
slug: "qualified-electronic-signature"
---

# Qualified electronic signature

## About qualified electronic signature

A **qualified electronic signature** (QES) is an electronic signature with a qualified digital certificate. It provides the highest level of assurance with face-to-face identity verification. The law recognizes such signatures as carrying the same legal weight as handwritten ones.

SignNow supports two QES certificate providers:

* **eID Easy**
    * Digest-based flow (the document doesn’t leave SignNow)
    * Non-digest-based flow (the document is handled by a third party with no changes to the user experience)
* **Edicom** (required in Mexico)

With SignNow, you can send the following types of invites to sign with QES:

* [Document field invite](/docs/document-field-invite/operations/post-field_invite)
* [Document group field invite](/docs/doc-group-field-invite/operations/invite-to-sign-document-group)
* [Bulk invite](/docs/template/operations/bulk-invite)
* [Embedded document invite](/docs/document-embedded-signing/operations/create-embedded-signing-invite)
* [Embedded document group invite](/docs/doc-group-embedded-signing/operations/create-embedded-invite-document-group)


<!-- theme: info -->

> To use qualified electronic signature, a sender's user must be in the organization with the corresponding setting enabled. To enable the setting, [contact](https://support.signnow.com/) SignNow support.

## Signing process

1.  A signer receives an email with an invitation to sign a document or document group. Alternatively, they can access the document or document group via a link (for embedded invites) or through their SignNow account.
2. The signer **completes all required fields**.
3. If using Edicom, skip this step. If using **eID Easy**, the signer is requested to choose their country of residence and **verify their identity** to obtain a QES certificate.
4. The signer sees the instructions specific to each QES provider and **verifies their identity**, usually using designated apps or devices.
5. If the invitation includes a **payment**, it is requested after the signer verifies their identity.

After completing this process, the signer can download the document or document group with a QES certificate or receive those by email.

A PDF document signed with QES can be validated using Adobe Reader or an online validator.

## Before you begin

* A sender of an invite must be in an organization with QES settings enabled.
  1. [Contact](https://support.signnow.com/) SignNow support to connect QES to your organization.
  2. In your SignNow [account](https://app.signnow.com/), go to **Organization Settings** > **Send to Sign Settings** and switch the toggle next to **Qualified Electronic Signature (QES)**.
* Your document or document group must have at least one signer with a set-up field or fields.
* Each signing step must have no more than one signer.
* Each signer must use QES to sign a document or document group and use the same certificate provider (eID Easy or Edicom).

## Signing link for template

In your SignNow [account](https://app.signnow.com/), you can use QES with a [signing link](/docs/signing-link/operations/post-v2-document-group-document_group_id-signing-links) for a template. The template must contain at least one field with no email address assigned.

To create a signing link from a template with QES:

1. Next to the template, click **Create Invite Link**.
2. Under **Signature Type**, select the QES type.
3. Click **Copy Link**.
4. Click **Done**.

![QES_signing-link_UI.png](/reference-assets/images/QES%20guide/QES_signing-link_UI.png)

The signing link is created and can be used to request a signature with QES authentication.


## API: Send an invite to sign with QES

### Step 1. Authentication

[Generate](/docs/authentication) a bearer token to authenticate further requests.

### Step 2. Upload document

[Upload](/docs/entities) a document to be signed.

### Step 3. Add role and signature field

[Add](/docs/fields) fields to the document.

### Step 4. Get role ID

Make a [Get document](/docs/document/operations/get-document) request to extract the role or role ID.

```json

curl -X GET \
https://api.signnow.com/document/{{document_id}} \
-H 'Authorization: Bearer {{access_token}}' \

```

The roles array lists role names and IDs. You need either a role or role ID, but you can use both. If you use both, ensure the roles and IDs correspond.

```json

"roles": [
    {
        "unique_id": "6e9580fa76ba4edca18fa6e680a36d10a6bab503",
        "signing_order": "1",
        "name": "Signer 1"
        }
]

```

<!-- theme: info -->

> **Note**: In the invite, all the roles from the document must be assigned to signers.

### Step 5. Send invite with QES

To demand QES from signers, each object in the `to` attribute of the field invite payload must contain a `signature` object. Possible values of `signature.type` are the following:

* `eideasy`: eID Easy digest-based flow (the document doesn’t leave SignNow). 
* `eideasy-pdf`: eID Easy with the document handled by a third party and no changes to the user experience.
* `nom151`: Edicom.

All signers must sign the document with QES, and the signature type must be the same for all of them.

For other request body details, see [Send field invite](/docs/document-field-invite/operations/post-field_invite).

```json
curl -X POST \
https://api.signnow.com/document/{{document_id}}/invite \
-H 'Authorization: Bearer {{access_token}}'\
-H 'Content-Type: application/json' \
-d '{
    "document_id": "c4aff212145b40888cd75e3c73c978484258c043",
    "to": [
        {
            "email": "signer1@email.com",
            "role_id": "6e9580fa76ba4edca18fa6e680a36d10a6bab503",
            "role": "Signer 1",
            "order": 1,
            "signature": {
                "type": "eideasy"
            },

            "prefill_signature_name": "Jane Doe",
            "force_new_signature": 1,
            "reassign": "0",
            "decline_by_signature": "0",
            "reminder": 0,
            "expiration_days": 30,
            "subject": "You’ve got a new signature request",
            "message": "Hi, this is an invite to sign a document from sender@email.com."
        }
    ],
    "from": "sender@email.com",
    "mail_provider": "sender@gmail.com"
}'
```

### Step 5.1 Send an embedded invite with QES

To request QES from signers using an embedded invite, each object in the `invite` array (for a document embedded invite) or the `signers` array (for a document group embedded invite) must contain a `signature` object. Possible values of signature.type are the following:

- `eideasy`: eID Easy digest-based flow (the document doesn’t leave SignNow).
- `nom151`: Edicom.

> All signers must sign the document with QES, and the signature type must be the same for all signers. You can add no more than one signer per step.

For other request body details, see [Create embedded document invite](/docs/document-embedded-signing/operations/create-embedded-signing-invite) or [Create embedded document group invite](/docs/doc-group-embedded-signing/operations/create-embedded-invite-document-group).

***Create an embedded document invite example***

```json
curl --request POST \
  --url https://api.signnow.com/v2/documents/{{document_id}}/embedded-invites \
  --header "Accept: application/json" \
  --header "Authorization: Bearer {{access_token}}" \
  --header "Content-Type: application/json" \
  --data '{
    "name_formula": "Contract|signer_name|signed_date",
    "invites": [
      {
        "signature": {
          "type": "eideasy"
        },
        "email": "signer1@email.com",
        "role_id": "6e9580fa76ba4edca18fa6e680a36d10a6bab503",
        "order": 1,
        "auth_method": "email",
        "first_name": "Jane",
        "last_name": "Doe",
        "redirect_uri": "https://example.com",
        "decline_redirect_uri": "https://signnow.com",
        "redirect_target": "blank"
      }
    ]
  }'
```

***Create an embedded document group invite example***

```json
curl --request POST \
  --url https://api.signnow.com/v2/document-groups/{{document_group_id}}/embedded-invites \
  --header "Accept: application/json" \
  --header "Authorization: Bearer {{access_token}}" \
  --header "Content-Type: application/json" \
  --data '{
  "invites": [
    {
      "order": 1,
      "signers": [
        {
          "signature": {
            "type": "eideasy"
          },
          "email": "signer1@email.com",
          "auth_method": "none",
          "first_name": "John",
          "last_name": "Doe",
          "redirect_uri": "https://example.com",
          "decline_redirect_uri": "https://signnow.com",
          "redirect_target": "blank",
          "delivery_type": "email",
          "link_expiration": 30,
          "documents": [
            {
              "id": "6e9580fa76ba4edca18fa6e680a36d10a6bab503",
              "role": "Signer 1",
              "action": "sign"
            }
          ]
        }
      ]
    }
  ]
}'
```


## Try out in Postman

[Access](https://www.postman.com/signnow-api/workspace/signnow-public-collection/collection/24778743-25e885bd-6a4a-483d-bd74-639c4c154019) this flow in Postman, and feel free to use signing invites with qualified electronic signatures.


---
*Full page: https://docs.signnow.com/docs/qualified-electronic-signature*
