Express QES
Express QES (xQES) allows non-account signers to sign with a Qualified Electronic Signature in a single flow, where identification and signing happen together, without needing a Skribble account or a pre-registered approval method.
Requirements
- The business must have Express QES enabled
- The signature request quality must be QES
- The signer must be a non-account signer (using
signer_identity_data, notaccount_email)
If account_email is provided and a registered user with that email exists, Express QES is not used. The signer follows the standard QES flow instead.
Setting force_standard_qes: true on a signer's signer_identity_data always routes that signer through the standard QES flow, regardless of the business's Express QES setting or any other identity flags such as identification_require_evidence.
Creating an Express QES Signature Request
It can be adjusted with the signer_identity_data related fields:
Code
signer_identity_data Fields
| Field | Required | Description |
|---|---|---|
email_address | No | Optional for Express QES |
mobile | No | If the mobile number is already identified and ready for QES signing, no identification is initiated and normal signing is triggered. Otherwise, the Express QES flow starts regardless of the number provided. |
identification_require_evidence | No | If true, a new identification process is started even if the signer is already identified, producing fresh evidence records. Only supported when the signature request's quality is QES and Express QES is enabled for the business; otherwise the request fails with a validation error. |
force_standard_qes | No | If true, this signer is always identified via the standard QES flow and is never routed through Express QES, regardless of the business's Express QES setting or other identity flags such as identification_require_evidence. |
Response
When the signer opens the signing_url, they are guided through an identification process. Depending on the method used, a manual review by back-office agents may be required before the signer can proceed to signing. The signer does not need to wait. They are notified automatically once the review is complete and can then sign.
Use callbacks to handle status changes rather than polling for completion.
After the signer completes identification and signs, the response includes an evidence_id in the signer's signer_identity_data:
Code
Identification Evidence
To get fresh evidence records for a signer, set identification_require_evidence: true on their signer_identity_data when creating the signature request:
Code
After the signer completes identification, you can retrieve the evidence records using the evidence_id from the signature request response. This is useful for Anti-Money Laundering (AML) compliance and Know Your Customer (KYC) processes where you need to store or verify the signer's identification data.
The business must have identification evidence enabled. If it is not, the request fails with 403 Forbidden (problem type feature-not-enabled). The identification process must also be completed before evidence can be retrieved.
Retrieve Evidence as JSON
Code
Returns the full identification evidence data as JSON.
Download Evidence Files
Code
Downloads all files related to the identification evidence as a ZIP archive.
