§ Developers
Add signing, sealing and timestamping in a few lines of code.
A REST API with predictable behaviour, complete documentation and examples in the main programming languages.
§ 01 — Quick start
Your first sealed document in three steps.
01
Get your API key
Create an account, then generate a key from your dashboard. Keep it server-side, in an environment variable: it must never appear in code that runs in the browser.
export DOCACERT_API_KEY="your-test-key"
02
Send your first document
Send the file and the options you need. The response contains the operation ID and the document status.
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"
}03
Track the result
Download the certified document, or subscribe to webhooks to be notified of every step. Always verify the signature of the notifications you receive.
{
"type": "seal.completed",
"created_at": "2026-10-13T09:41:29Z",
"data": {
"id": "seal_8f2c41d0e7",
"status": "sealed"
}
}
§ 02 — API principles
Conventions you already know.
REST and JSON
Clearly named resources, standard HTTP verbs and JSON responses.
OpenAPI specification
Generate your client or import the API into your tools from the public specification.
Test environment
Build and test with a dedicated key, isolated from production.
Signed webhooks
Every notification is signed: verify its authenticity before processing it.
Explicit errors
Consistent HTTP status codes and detailed error messages, so you can fix issues quickly.
Audit trail
Every operation is logged and exportable, for your internal controls and for your auditors.
§ 03 — Resources
Everything you need for a smooth integration.
Documentation
Guides, concepts and best practices, from your first call to production.
API reference
Every endpoint, its parameters and its responses, with examples.
Technical support
A question about your integration? Write to our technical team.
§ Get started
Ready to send your first document?
Get your API key and make your first calls in the test environment.