Gå til hovedindhold
Certyneo
API REST eIDAS

E-signering API til udviklere

Integrer eIDAS-elektronisk signatur i din applikation: REST API, HMAC-signerede webhooks, indlejret signering i iframe og gratis testnøgler allerede fra den gratis konto.

Gratis testnøgler · SLA 99,9 % (Business og Enterprise) · Hosting i EU

REST og OpenAPI

Forudsigelige endpoints, ren JSON, standard HTTP-koder. OpenAPI-specifikation til download, så du kan generere dine egne klienter.

Pålidelige webshocks

5 forsøg med stigende intervaller, HMAC SHA-256-signatur, fejlede hændelser kan afspilles igen fra dashboardet. Ingen polling at kode.

Native eIDAS-overensstemmelse

Simpel, avanceret (OTP via SMS) og kvalificeret signatur, valgt pr. konvolut med feltet signatureLevel. Tidsstemplet revisionsspor vedlagt hvert underskrevet dokument.

Hostet i EU

Servere i Tyskland, Frankrig og Spanien. Offentliggjorte hastighedsgrænser pr. plan og X-RateLimit-headere på hvert svar. SLA 99,9 % på Business og Enterprise.

Kom i gang med tre kald

Upload PDF'en, opret konvolutten, send den: tre HTTP-forespørgsler er nok.

cURL — upload, opret, send
# 1. Upload the PDF
curl https://certyneo.com/api/v1/documents \
  -H "Authorization: Bearer $CERTYNEO_API_KEY" \
  -F "file=@contrat.pdf"
# → { "id": "cm8doc...", "status": "READY", ... }

# 2. Create the envelope (draft)
curl https://certyneo.com/api/v1/envelopes \
  -H "Authorization: Bearer $CERTYNEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Contrat de prestation",
    "documentIds": ["cm8doc..."],
    "recipients": [{ "email": "client@example.com", "name": "Jane Doe" }]
  }'
# → { "id": "cm8env...", "status": "DRAFT", ... }

# 3. Send the invitations
curl -X POST https://certyneo.com/api/v1/envelopes/cm8env.../send \
  -H "Authorization: Bearer $CERTYNEO_API_KEY"

POST /documents returnerer PDF'ens id, POST /envelopes opretter et udkast med dets underskrivere, og POST /envelopes/:id/send sender invitationerne. Forløbet kommer derefter via webhook.

Node.js — indbygget fetch, uden afhængigheder
// Node 18+ — native fetch, no dependency
import { readFile } from "node:fs/promises";

const API = "https://certyneo.com/api/v1";
const auth = { Authorization: `Bearer ${process.env.CERTYNEO_API_KEY}` };

// 1. Upload the PDF
const form = new FormData();
const pdf = new Blob([await readFile("contrat.pdf")], { type: "application/pdf" });
form.append("file", pdf, "contrat.pdf");
const doc = await (await fetch(`${API}/documents`, { method: "POST", headers: auth, body: form })).json();

// 2. Create the envelope (draft)
const envelope = await (await fetch(`${API}/envelopes`, {
  method: "POST",
  headers: { ...auth, "Content-Type": "application/json" },
  body: JSON.stringify({
    subject: "Contrat de prestation",
    documentIds: [doc.id],
    recipients: [{ email: "client@example.com", name: "Jane Doe" }],
  }),
})).json();

// 3. Send the invitations
await fetch(`${API}/envelopes/${envelope.id}/send`, { method: "POST", headers: auth });

Der kræves intet SDK: API'et kan bruges med den indbyggede fetch i Node 18 eller en hvilken som helst HTTP-klient. OpenAPI-specifikationen gør det også muligt at generere en typet klient i dit sprog.

Webhooks reagere i realtid

Konvolut- og modtagerhændelserne, verifierbar HMAC-signatur og automatisk genoptagelse.

envelope.completed
{
  "id": "cm8f2h6a10004qr9k5p2wm3xt",
  "event": "envelope.completed",
  "data": {
    "envelopeId": "cm7x2k9p40001qz8h3f7bn2ld",
    "subject": "Contrat de prestation",
    "status": "COMPLETED",
    "completedAt": "2026-09-26T08:42:13.000Z",
    "recipientCount": 1,
    "recipients": [
      { "email": "client@example.com", "name": "Jane Doe", "role": "SIGNER", "status": "SIGNED" }
    ],
    "signedDocumentUrl": "https://storage.certyneo.com/signed/...pdf?X-Amz-Expires=604800&..."
  },
  "timestamp": "2026-09-26T08:42:13.521Z"
}
  • HMAC SHA-256 signatur af hver enkelt payload verificere server side.
  • Automatisk retry ved midlertidigt svigt: 5 forsøg over cirka 1 t 20 min med eksponentiel backoff.
  • Fejlede hændelser vises i dashboardet og kan afspilles igen med ét klik. Efter 5 fejl i træk suspenderes endpointet, og du får besked.
  • Op til 5 endpoints på Standard, 15 på Business og 50 på Business Pro, hver abonneret på de hændelser, du vælger.

Hvorfor en API, der er dedikeret til e-signering?

Det er ikke let at integrere en elektronisk signatur i et produkt, men du har brug for garantier for juridisk overensstemmelse (eIDAS), teknisk pålidelighed (webhooks, der virkelig kommer), og datasoverenhed (europæisk hosting for at undgå Cloud Act).

Det er designet af og til udviklere og følger REST-konventionerne: version i URL'en (/api/v1), paginering med page og limit, JSON-fejl med en maskinlæsbar kode, OpenAPI-specifikation til at generere dine klienter. Ingen SOAP, ingen XML, ingen overraskelser.

eIDAS-overensstemmelse forklaret til udviklere

eIDAS-forordningen definerer tre signaturniveauer: simpel (SES), avanceret (AES) og kvalificeret (QES). Med Certyneo API vælger du niveauet for hver konvolut med feltet signatureLevel: SIMPLE (standard), ADVANCED eller QUALIFIED. Den simple signatur dækker de fleste almindelige handelsaftaler; QES bruges, når en lov eller en modtager kræver ligestilling med den håndskrevne underskrift.

Teknisk aktiverer det avancerede niveau automatisk OTP via SMS og kræver et telefonnummer for hver underskriver. Revisionssporet tidsstemples efter standarden RFC 3161. QES bygger på et kvalificeret certifikat udstedt af en kvalificeret tillidstjenesteudbyder i EU. Alt styres via API'et.

Anbefalet integrationsarkitektur

Det mest almindelige integrationsmønster følger denne strøm:

  • Din backend uploader PDF'en (POST /api/v1/documents), opretter konvolutten som udkast (POST /api/v1/envelopes) og sender den derefter (POST /api/v1/envelopes/:id/send).
  • Underskriveren modtager sin invitation via e-mail eller underskriver direkte i din brugerflade takket være indlejret signering i iframe (POST /api/v1/envelopes/:id/embed-url, fra Standard-planen).
  • Når signaturen er færdig, ringer Certyneo til dit webhook med en event som hedder envelope.completed.
  • Du opdaterer din database og giver brugeren besked (e-mail, i-app osv.).

Gratis testnøgler

sk_test_-nøgler er tilgængelige på alle planer, også Gratis, og testkonvolutter bruger ikke af din månedlige kvote. På Gratis-planen kan de kun sendes til din egen e-mailadresse og er begrænset til 20 forespørgsler i timen; de betalte planer går fra 200 til 1.000 forespørgsler i timen. Testdata slettes efter 30 dage. Den første testnøgle på en gratis konto giver desuden en gratis måned på Standard-planen.

Og hvis du ikke ønsker at skrive kode

Alt det, som denne API gør, kan også styres uden at skrive en linje fra et flow: oprette en kuvert, sende den, reagere på en underskrift, hente det forseglede PDF og dets revisionsspor. Samme grundlag, med en visuelt designer i stedet for HTTP-klienten. Se Power Automate- og Microsoft 365-integrationen.

Flyt fra DocuSign eller Yousign

Hvis du allerede har en DocuSign- eller Yousign-integration, er ordforrådet tæt på: envelopes → envelopes, recipients → recipients, status-webhooks → webhooks. Migreringsguiden fra DocuSign og Yousign til Certyneo gennemgår trinene, fra eksport af skabeloner til omstilling af webhooks.

Migrerer du fra Adobe Acrobat Sign (tidligere EchoSign, derefter Adobe Sign)? Kortlægningen er lige så direkte — agreements → envelopes, participants → recipients, webhooks → webhooks. Sammenlign Certyneo og Adobe Acrobat Sign →

Pris på et API til elektronisk signatur: hvor køber man et abonnement?

Du behøver hverken tilbud eller indkøbsordre for at købe et API-abonnement til signatur: testnøglerne er gratis, API-nøglen genereres fra dashboardet, og adgang til produktions-REST API'et er inkluderet fra Standard-planen på 19 €/mdr — webhooks inklusive, uden gebyr pr. simpel signatur.

  • Standard — 19 €/mdr: 100 konvolutter/mdr, REST API + webhooks, 10 brugere
  • Business — 39 €/mdr: 300 konvolutter/mdr, gruppeforsendelse, webformularer
  • Business Pro — 99 €/mdr: 1.000 konvolutter/mdr, høj-frekvens API (300 req/min), ubegrænsede brugere

Kvalificeret signatur (QES) faktureres pr. handling og betales ved afsendelse: 9,90 € pr. signatur med abonnement, trukket på det gemte kort, når de inkluderede QES i Business og Business Pro er brugt, og 14,90 € uden abonnement.

For store mængder eller behov for kontraktlig forpligtelse (SLA, dedikeret DPA, årlig fakturering) tegnes Enterprise-planen via salgsteamet. I alle tilfælde er priserne offentlige — sammenlign dem før du forpligter dig.

Gå videre

Fejr med spørgsmål API

Hvad er API'ens sporegrænse?

Grænsen gælder pr. nøgle, pr. minut, afhængigt af planen: 60 forespørgsler på Standard, 120 på Business, 300 på Business Pro og 1.000 på Enterprise. Hvert svar indeholder headerne X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset; derudover returnerer API'et 429 med en Retry-After-header.

Hvad koster API'en?

Testnøgler (sk_test_) er gratis på alle planer. Adgang til produktions-REST API'et er inkluderet fra Standard-planen på 19 €/mdr (100 konvolutter/mdr), derefter Business på 39 €/mdr og Business Pro på 99 €/mdr med stigende kvoter; kvalificeret signatur (QES) faktureres pr. handling, 9,90 € med abonnement. Til større volumener tegnes Enterprise-planen via salgsteamet.

Er der ALS?

Ja: 99,9 % månedlig tilgængelighed på Business- og Enterprise-planerne med en kredit på fakturaen på 10 til 50 % afhængigt af den konstaterede afvigelse. Tjenestens status offentliggøres løbende på Certyneos statusside.

Hvilken autentificering bruger du?

En API-nøgle i Authorization-headeren (Bearer sk_live_… eller sk_test_…). Nøgler oprettes og tilbagekaldes fra dashboardet med øjeblikkelig virkning. Til en tredjepartsapplikation, der handler på vegne af dine brugere, er OAuth 2.0 tilgængelig med authorization code-flowet og PKCE.

Hvordan kontrollerer man en webhooks HMAC-signatur?

Hver webhook har en X-Certyneo-Signature-header: HMAC SHA-256, i hexadecimal, af forespørgslens rå body, beregnet med dit endpoints hemmelighed. Beregn den igen på serveren ud fra den uændrede body, og sammenlign i konstant tid (crypto.timingSafeEqual i Node, hmac.compare_digest i Python).

Findes der et officielt SDK?

Ikke udgivet endnu. API'et kaldes direkte over HTTP fra et hvilket som helst sprog, og OpenAPI-specifikationen gør det muligt at generere en typet klient med openapi-generator eller et tilsvarende værktøj. Uden kode er Certyneo også tilgængelig på Make, n8n, Postman og RapidAPI.

Kan jeg teste uden at betale?

Ja: opret en gratis konto, og generér en sk_test_-nøgle fra dashboardet. Den første testnøgle på en gratis konto giver også en gratis måned på Standard-planen. Med Postman-samlingen kan du køre de første kald uden at skrive kode.

Hvad koster EchoSign API (blevet Adobe Acrobat Sign)?

EchoSign blev købt af Adobe i 2011 og omdøbt til Adobe Sign og siden Adobe Acrobat Sign: API'et findes stadig, men prisen er ikke offentlig og kræver et virksomhedstilbud fra Adobes salgsteam, typisk i trin af årlige transaktioner. Certyneo viser derimod sine priser: adgang til produktions-API'et er inkluderet fra Standard-planen på 19 €/mdr, tegnet online uden tilbud, med gratis testnøgler, så du kan evaluere API'et, før du betaler.

Er du klar til at indarbejde den elektroniske signatur?

Gratis testnøgler, OpenAPI-specifikation, signerede webhooks. Kom i gang nu.