BankID · MitID · iDIN · FTN · eIDAS AES · ESIGN Act
Self-serve REST API for eIDAS Advanced Electronic Signatures — BankID, MitID, iDIN and four more national eIDs. No sales call, no SDK, no enterprise contract. Also covers global ESIGN Act (US) workflows.
$ curl -X POST https://esign-api-gt01.onrender.com/v1/signature-requests \
-H "Authorization: Bearer esign_live_..." \
-H "Content-Type: application/json" \
-d '{
"document_base64": "JVBERi0x...",
"document_title": "Service Agreement",
"signer": {
"name": "Jane Doe",
"email": "jane@acme.com"
},
"tier": "ses"
}'
import requests, base64
resp = requests.post(
"https://esign-api-gt01.onrender.com/v1/signature-requests",
headers={"Authorization": "Bearer esign_live_..."},
json={
"document_base64": base64.b64encode(
open("contract.pdf", "rb").read()
).decode(),
"signer": {"name": "Jane Doe", "email": "jane@acme.com"},
"tier": "ses",
},
)
print(resp.json()["signing_url"])
{
"request_id": "req_01HKx9mP3Qrt7wbA",
"signing_url": "https://esign-api-gt01.onrender.com/sign/req_01HKx...",
"status": "pending",
"tier": "ses"
}
Everywhere else, European eID access is enterprise-gated. Signaturios gives you an API key at signup.
POST the PDF, get a signing URL back. Email it to your signer. Done.
$ curl -X POST https://esign-api-gt01.onrender.com/v1/signature-requests \
-H "Authorization: Bearer esign_live_..." \
-H "Content-Type: application/json" \
-d '{
"document_base64": "JVBERi0x...",
"document_title": "Master Services Agreement",
"signer": { "name": "Jane Doe", "email": "jane@acme.com" },
"tier": "ses"
}'
import requests, base64
API_KEY = "esign_live_..."
BASE = "https://esign-api-gt01.onrender.com"
with open("contract.pdf", "rb") as f:
doc_b64 = base64.b64encode(f.read()).decode()
resp = requests.post(
f"{BASE}/v1/signature-requests",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"document_base64": doc_b64,
"document_title": "Master Services Agreement",
"signer": {"name": "Jane Doe", "email": "jane@acme.com"},
"tier": "ses",
},
)
print(resp.json()["signing_url"])
{
"request_id": "req_01HKx9mP3Qrt7wbA",
"signing_url": "https://esign-api-gt01.onrender.com/sign/req_01HKx9mP3...",
"status": "pending",
"tier": "ses"
}
Send signing_url to your signer — they see a hosted signing page,
check a consent box, and the PDF is cryptographically signed.
Poll GET /v1/signature-requests/{id} for "status": "signed",
then retrieve the PAdES-signed PDF with its embedded audit trail.
eID signing without an enterprise contract. Plain HTTP, honest pricing, real legal validity.
Everywhere else, eIDAS Advanced Electronic Signature access requires an enterprise
contract and a six-week integration. Signaturios puts Swedish BankID, Danish MitID,
Norwegian BankID, Finnish FTN, Dutch iDIN, German Personalausweis, and Freja eID
on the same self-serve key you get at signup. Pass "tier": "aes_eid"
with an eid_method — that’s it.
Plain HTTP, no SDK. API key at signup — eID signing included, no tier upgrade. Flat pricing. Hosted signer page you never build.
$ curl -X POST .../v1/signature-requests
-d '{ "tier": "aes_eid", "eid_method": "se_bankid" }'
→ { "signing_url": "https://..." }
Not an image overlay. Cryptographic proof embedded in the PDF’s binary structure (ETSI EN 319 142, SHA-256). Verifiable in any PDF reader without calling Signaturios.
Tamper-proof by design
Every signed PDF carries a structured audit trail in its binary structure — not stored in a database, not dependent on Signaturios’ servers. The document remains independently verifiable even if Signaturios ceases to exist.
Email-verified for global workflows. National eID–verified for eIDAS AES compliance. Both on the same API key.
Identity is established by clicking a link sent to the signer’s email. They review the document, confirm consent, and sign — all in-browser. Name, email, IP, and timestamp are embedded in the PAdES audit trail.
"tier": "ses"Identity is verified by a government-issued national eID before signing. Seven European providers supported: BankID (SE / NO), MitID, FTN, iDIN, Personalausweis, and Freja eID. The signer’s verified legal name is embedded in the audit trail.
"tier": "aes_eid"Get an API key and send your first BankID or eIDAS signing request this afternoon. Self-serve — no sales call, no enterprise contract.
Get your API key →