Document certification API · eIDAS
Sign, seal and timestamp your documents with a single API call.
Docacert gives developers the building blocks of digital trust — electronic signatures, seals, timestamps and verification — ready to integrate into your applications.
curl https://api.docacert.com/v1/seals \
-H "Authorization: Bearer $DOCACERT_API_KEY" \
-F "file=@invoice-2026-0418.pdf" \
-F "timestamp=true"- Seal
- Your organisation
- Timestamp
- 13 Oct 2026 · 09:41:27 UTC
- SHA-256
- 9b1f04…a2c07e
Document intact · seal valid
- eIDAS Regulation (EU) No 910/2014
- PAdES · XAdES · CAdES
- RFC 3161 timestamping
- Data hosted in France
§ 01 — Building blocks
Four trust services, one API.
Combine them freely. Every call returns a document in standard European formats, verifiable with standard tools, without depending on Docacert.
POST /v1/signatures
Electronic signature
Have your users sign documents, with a signing flow embedded in your application or driven entirely by API.
PAdES-signed PDF · evidence file
POST /v1/seals
Electronic seal
Automatically seal invoices, certificates and reports on behalf of your organisation, with no human intervention.
PAdES-sealed PDF · guaranteed origin
POST /v1/verifications
Verification
Check an existing signature, seal or timestamp and get a readable validation report.
Detailed validation report
§ 02 — How it works
From request to proof, in three steps.
01
Send the document
A PDF, an XML file or any other format, sent with a simple HTTPS request from your application.
02
Docacert applies the proof
Signatures, seals and timestamps are produced with certificates and tokens issued by trust service providers.
03
Get the result
Download the certified document and its report, or receive them automatically by webhook.
§ 03 — Developers
A predictable API, documented end to end.
Standard REST conventions, explicit errors and copy-ready examples in your language.
- REST and JSON, public OpenAPI specification
- Test environment separate from production
- Signed webhooks to track every operation
- Exportable audit trail for every document
cURL
curl https://api.docacert.com/v1/seals \
-H "Authorization: Bearer $DOCACERT_API_KEY" \
-F "file=@invoice-2026-0418.pdf" \
-F "timestamp=true"Node.js
import { openAsBlob } from "node:fs";
const form = new FormData();
form.append("file", await openAsBlob("invoice-2026-0418.pdf"), "invoice-2026-0418.pdf");
form.append("timestamp", "true");
const res = await fetch("https://api.docacert.com/v1/seals", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.DOCACERT_API_KEY}` },
body: form,
});
const seal = await res.json();Python
import os
import requests
with open("invoice-2026-0418.pdf", "rb") as f:
res = requests.post(
"https://api.docacert.com/v1/seals",
headers={"Authorization": f"Bearer {os.environ['DOCACERT_API_KEY']}"},
files={"file": f},
data={"timestamp": "true"},
)
seal = res.json()C#
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Bearer", Environment.GetEnvironmentVariable("DOCACERT_API_KEY"));
using var form = new MultipartFormDataContent
{
{ new StreamContent(File.OpenRead("invoice-2026-0418.pdf")), "file", "invoice-2026-0418.pdf" },
{ new StringContent("true"), "timestamp" }
};
var res = await http.PostAsync("https://api.docacert.com/v1/seals", form);
var seal = await res.Content.ReadFromJsonAsync<Seal>();Response · 201
{
"id": "seal_8f2c41d0e7",
"status": "sealed",
"format": "PAdES-B-LT",
"timestamp": "2026-10-13T09:41:27Z",
"sha256": "9b1f04…a2c07e"
}§ 04 — Compliance
A European framework, open formats.
eIDAS
European regulation
Signatures, seals and timestamps produced under the eIDAS Regulation, at the assurance level suited to each use case.
ETSI standards
Proof you can verify anywhere
Evidence is embedded in documents according to European standards: any compliant validation tool can check it, with or without Docacert.
GDPR
Data hosted in Europe
Documents processed and hosted in France, in compliance with the GDPR.
§ 05 — Questions
Frequently asked questions
What is the difference between an electronic signature and an electronic seal?
An electronic signature commits a natural person, who consents to the content of the document. An electronic seal is applied on behalf of a legal person — your organisation — to guarantee the origin and integrity of a document, with no human intervention.
What is timestamping for?
It proves that a file existed in a given form at a specific date and time. A qualified timestamp within the meaning of the eIDAS Regulation enjoys a presumption of accuracy of the date and time and of the integrity of the data.
Can a document still be verified without Docacert?
Yes. Evidence is embedded in the document in standard formats (PAdES, XAdES, CAdES): any compliant validation tool can check it, even if you stop using Docacert.
How do I get started?
Create an account to get your API key, follow the getting-started guide in the documentation, then move to production when your integration is ready.
§ 06 — Get started
Add proof of trust to every document.
Get your API key, or tell us about your project: we will help you choose the right assurance level.