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.

  • 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/timestamps

Timestamping

Attach a token to any file that proves its existence and integrity at a given point in time.

RFC 3161 token · trusted date

POST /v1/verifications

Verification

Check an existing signature, seal or timestamp and get a readable validation report.

Detailed validation report

Explore the products

§ 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.