API · v1 · stabil
CODEMETA OS Developer Center
Konsole öffnen
Module

eSign

Codemeta OS hat eine eingebaute eSign-Funktion (geplant in mehreren Phasen). Sie erfüllt die Anforderungen der Fortgeschrittenen Elektronischen Signatur (FES) nach eIDAS Art. 26 und liefert PAdES-konforme PDFs zurück.

Resources

ResourcePfadPermission-Präfix
Envelopes/api/v1/sign_envelopessign_envelope
Templates/api/v1/sign_templatessign_template

Empfänger, Dokumente und der Audit-Trail eines Envelopes liegen als typisierte Listen direkt am sign_envelope-Datensatz — kein eigenes Sub-Resource-Schema.

Workflow

  1. Envelope anlegen mit Dokumenten und Empfängern.
  2. Felder platzieren (Unterschrift, Initialen, Datum, Textfelder).
  3. Versenden — der Server schickt jedem Empfänger einen Public-Link.
  4. Empfänger signiert über die Public-API (/api/v1/public/sign/...).
  5. Server signiert das PDF mit dem Plattform-X.509-Zertifikat (PAdES).
  6. Envelope abgeschlossen — der Audit-Trail am Envelope ist vollständig.

Schemas

Envelope

sign_envelopes4 Permissions

Electronic signature envelope — a document sent to one or more signers

title string erforderlich

Display name of the envelope

1–255 Zeichen
message string optional

Optional message shown to all signers

max 5000 Zeichennullable
documentId uuid erforderlich

DMS document ID of the PDF to be signed

templateId uuid optional

Optional sign template used to pre-populate fields

nullable
signers object[] optional
Default: []read-only
name string erforderlich
1–255 Zeichen
email email erforderlich
max 255 Zeichen
signerIndex integer erforderlich
≥ 0
role string optional

E.g. "Geschäftsführer"

max 100 Zeichennullable
message string optional
max 2000 Zeichennullable
verificationMethod string optional
EMAIL_LINKSMS_OTPEMAIL_OTPIN_PERSON
Default: "EMAIL_LINK"
phoneNumber string optional

Required when verificationMethod = SMS_OTP

max 30 Zeichennullable
fields object[] optional
Default: []
fieldId uuid optional
type string erforderlich
SIGNATUREINITIALSTEXTDATECHECKBOXSTAMP
signerIndex integer erforderlich
≥ 0
page integer erforderlich
≥ 1
x number erforderlich
0 – 1
y number erforderlich
0 – 1
width number erforderlich
0 – 1
height number erforderlich
0 – 1
required boolean optional
Default: true
label string optional
max 255 Zeichennullable
placeholder string optional
max 255 Zeichennullable
defaultValue string optional
max 1000 Zeichennullable
options string[] optional

Dropdown options (for TEXT fields rendered as select)

nullable
characterLimit integer optional
≥ 1nullable
dateFormat string optional
max 50 Zeichennullable
group string optional

Group name — one checkbox in a group must be checked

max 100 Zeichennullable
ccRecipients object[] optional

Receive a copy of the completed document

Default: []
name string erforderlich
1–255 Zeichen
email email erforderlich
max 255 Zeichen
signingOrder string optional

SEQUENTIAL = in order; PARALLEL = all at once; MIXED = grouped

PARALLELSEQUENTIALMIXED
Default: "PARALLEL"
signingGroups object[] optional

For MIXED signing order: groups of signers that sign in parallel within the group, sequential between groups

nullable
groupIndex integer erforderlich
≥ 0
signerIndices integer[] erforderlich
min 1 Items
expiresAt datetime optional

ISO 8601 expiry — envelope is voided after this date

nullable
reminderIntervalDays integer optional

Send reminder emails every N days until signed

1 – 30nullable
linkedEntityType string optional

Schema ID of linked entity (e.g. "contract", "avv")

max 100 Zeichennullable
linkedEntityId uuid optional

ID of the linked entity

nullable
allowDecline boolean optional

Whether signers are allowed to decline signing

Default: true
requireSignatureReason boolean optional

Prompt signers to enter a reason/declaration with their signature

Default: false
bulkSendId uuid optional

Groups envelopes from a bulk send operation

nullable

Public-Signing-Endpoint

Empfänger öffnen den Link, der unter /api/v1/public/sign/session/<token> auflöst. Kein X-Tenant-Id, kein Cookie — Auth erfolgt über den Token.

Endpoints (Auszug):

OperationPfad
Session ladenGET /api/v1/public/sign/session/<token>
Feld setzenPATCH /api/v1/public/sign/session/<token>/fields/<id>
UnterzeichnenPOST /api/v1/public/sign/session/<token>/finalize

Mehr unter Public Endpoints.

Audit-Trail

Jeder relevante Schritt — Versand, Öffnen, Unterzeichnen, Abschluss, Storno — landet als Event-Eintrag in der typisierten Audit-Liste am Envelope. Status-Übergänge:

EventHinweis
envelope.sentVersand an Empfänger
recipient.openedEmpfänger hat Link geöffnet
recipient.signedEmpfänger hat unterschrieben
envelope.completedAlle Empfänger signiert, Server-Signatur gesetzt
envelope.voidedManuell oder durch Frist gestoppt

Phasen

  • Phase 1 (in Implementierung): Envelope, Felder, E-Mail-Link-Auth, Plattform-Signatur, Audit.
  • Phase 2: Templates, Bulk-Send, Workflow-Trigger.
  • Phase 3: QES (Qualifizierte Signatur) über TSP-Integration.

Verwandt

  • DMS — eSign-Dokumente werden im DMS abgelegt
  • Verträge — Verträge unterschreiben lassen
  • Public Endpoints — Signing-Session ohne Mandant

Suche