DKBSignDocs

API reference

POSTRequires Bearer token

Verify a signed PDF

/api/verification/verify

PAdES / CAdES verification (certificate chain, optional TSA, optional OCSP/CRL).

Multipart: send file plus optional options (JSON string) and password. JSON: send document_url (or url) and options. URL mode requires a Bearer token (anonymous URL fetch is rejected — SSRF). Document URLs must be public HTTPS; private IPs are blocked.

Verdicts: VALID, INVALID, INDETERMINATE. Missing trust data is never upgraded to VALID. Default upload limit is 25 MB.

options.revocation_mode is soft-fail (default) or hard-fail. decrypt_dkbsign_data (default true) tries to read the DKBSign metadata blob.

Path parameters

This endpoint has no path parameters.

Query parameters

This endpoint has no query parameters.

Request body

Send as multipart/form-data.

FieldTypeDescription
file
stringPDF to verify (multipart).
password
stringPassword for an encrypted PDF. Never stored.
document_url
stringPublic HTTPS URL of the PDF (JSON).
e.g. "https://files.acme.test/signed.pdf"
url
stringAlias of document_url.
options
objectVerification flags.

Responses

StatusMeaning
200Verification report
400See the example response.
401Missing or invalid Bearer token.

Request

curl
curl -X POST 'https://api.dkbsigns.com/api/verification/verify' \
  -H 'Authorization: Bearer $DKBSIGN_TOKEN' \
  -H 'Accept: application/json' \
  -F 'file=file' \
  -F 'password=P@ssw0rd!' \
  -F 'document_url=https://files.acme.test/signed.pdf' \
  -F 'url=url' \
  -F 'options={}'

Response 200

json
{
  "schema_version": "1.2",
  "verification_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "global_verdict": "VALID",
  "signatures_count": 1,
  "proof": {
    "generated": true,
    "proof_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "retrieve_url": "/api/v1/proofs/f47ac10b-58cc-4372-a567-0e02b2c3d479"
  }
}