🚀 NEW: sproof's AI assistant for quick integration Learn more
Breadcrumbs

sproof Validate: Verify Signatures (API)

Hello developer,

This guide explains how to verify the validity of digital signatures in a document using the sproof API. This process is ideal for automated workflows where the validation status of a document needs to be determined programmatically.

The verification is based on the ETSI standards, which are internationally recognized norms for electronic signatures.

The check is performed via the POST endpoint documents/verify. This endpoint accepts a document and returns the validation status of all signatures contained within it.


API call: POST https://sign.sproof.com/api/v1/documents/verify

Documentation: Verify signatures

Body structure (JSON):

{
  "token": "{{token}}"
  "document": "{{pdf_im_base64_format}}"
}
  • {{pdf_im_base64_format}} should contain the Base64-encoded PDF document whose signatures you want to verify.

  • Replace {{token}} with your API token.


On success the API returns a JSON object containing the validation status of the signatures.

Example of a successful response:

JSON
{
    "totalSignaturesCount": 1,
    "validSignaturesCount": 1,
    "signatureVerificationInfos": [
        {
            "id": "S-430E6C02C35FA4A4D03743BF92F7D5E3332E1F2672E43B4ADD25911B163D15CA",
            "qualification": "urn:cef:dss:signatureQualification:AdESealQC",
            "format": "PKCS7-B",
            "indication": "urn:etsi:019102:mainindication:total-passed",
            "subIndication": null,
            "certificateChain": [
                "sproof GmbH",
                "D-TRUST CA 5-22-2 2022",
                "D-TRUST Root CA 5 2022"
            ],
            "signatureTime": "Thu Aug 21 15:00:08 UTC 2025",
            "bestSignatureTime": "Thu Aug 21 15:11:14 UTC 2025",
            "byteRange": "The document ByteRange : [0, 46428, 106430, 140889]",
            "name": "Max Mustermann [max.mustermann@sproof.com]",
            "signatureTimestampVerificationInfo": null
        }
    ]
}

We hope this example helps you get started with your integration!

If you have any questions, we are happy to assist you.

Last updated: