Skip to main content
Version: 9.x

Timestamp a PDF

Adds a document timestamp from an RFC 3161 timestamp authority: proof the PDF existed, unchanged, at that time.

POST/forms/pdf/timestamp
filesfile[]required

The PDFs.

archivesfile[]

ZIP files Gotenberg unpacks: each entry counts as a file uploaded under files.

URLs Gotenberg downloads first, as if you had uploaded the files. Each entry takes a url, and optionally extraHttpHeaders.

timestampUrlstringrequired

The authority's http:// or https:// URL.

The PDF, or a ZIP of the PDFs when you send several.

The route also takes the headers. An error answers a status and a message: see Errors.

Timestamp without signing​

curl \
--request POST http://localhost:3000/forms/pdf/timestamp \
--form files=@report.pdf \
--form timestampUrl=http://timestamp.digicert.com \
-o report.pdf

A document timestamp names no signer. To timestamp a signature, give sign a timestampUrl instead.

Pick the authorities​

Operators decide which authorities Gotenberg may call with --pdf-allow-list, --pdf-deny-list and --pdf-deny-private-ips: see Restrict outbound requests.

In a list of stages​

The stage also runs in a list on /forms/pdf/pipe, and on the PDFs a Chromium or LibreOffice conversion makes, in its stages field:

curl \
--request POST http://localhost:3000/forms/pdf/pipe \
--form files=@report.pdf \
--form 'stages=[
{ "op": "timestamp", "timestampUrl": "http://timestamp.digicert.com" }
]' \
-o report.pdf