ePost Sign

Update a running signing process (ADMIN-only).

ADMIN-only update of a running signing process. Callable by the process creator or by <strong>any active participant that holds the <code>ADMIN</code> role</strong> (LUZ-158618). All fields on the body are optional; only the fields the caller wishes to change need to be sent. Fields set to <code>null</code> are treated as "no change".<br/><br/><strong>Editable fields</strong>: <code>title</code>, <code>description</code>, <code>deadline</code> (must be strictly in the future), <code>documentHandling.allowPrint</code> / <code>documentHandling.allowSave</code>. Field-level diffing is applied and an audit trail entry (<code>PROCESS_UPDATED</code>) is written only when at least one value actually changed.<br/><br/><strong>Locked at creation</strong> (never patchable through this endpoint): <code>signatureType</code>, <code>mode</code>, <code>participants</code> (participants have their own PATCH endpoint), <code>forceOnboarding</code>, <code>billToCompanyTenantId</code>.<br/><br/><strong>Lifecycle</strong>: only <code>status = CANCELLED</code> is accepted — deactivates the process (SwissSign <code>signaturesCancelProcessing</code>), records a <code>PROCESS_CANCELLED</code> audit trail entry, schedules the process for deletion, delivers the partially-signed document to <code>RECEIVER</code> participants and notifies <code>SIGNER</code> / <code>ADMIN</code> participants. Any other status value is rejected with HTTP 400. Updates against a process in <code>COMPLETED</code>, <code>CANCELLED</code> or <code>EXPIRED</code> are rejected with HTTP 409. Callers that are not an <code>ADMIN</code> participant of this process receive HTTP 404 (the existence of the process is not disclosed). Access requires the ePost Sign widget subscription.

patch/epost/signing/processes/{processId}

Request

  • Base URL: https://api.klara.ch
  • URL: https://api.klara.ch/epost/signing/processes/{processId}
  • Auth: one of:
    • API key in header X-API-KEY
    • HTTP bearer

Path parameters

processIdstring uuid required
Example:6c2df3c0-5b1a-4c92-9c46-3b8a9e0e2d51

Server-assigned unique identifier of the signing process.

Request body

titlestring

New title shown to participants in the signing room and in the process list. Omit to keep the current title.

descriptionstring

New free-form description. Omit to keep the current description; send an empty string to clear it.

deadlinestring date

New absolute deadline (ISO 8601). Must be strictly in the future. Omit to keep the current deadline.

statusobject

Only <code>CANCELLED</code> is accepted — deactivates the process (SwissSign <code>signaturesCancelProcessing</code>). Any other value results in HTTP 400.

Example request

{
  "title": "Rental contract Bahnhofstrasse 12 (v2)",
  "description": "Please sign by the end of next week.",
  "deadline": "2027-01-31"
}

Response

Updated signing process.

processIdstring uuid

Unique identifier of the signing process.

titlestring

Title of the signing request.

descriptionstring nullable

Optional description.

signatureTypeobject

Chosen signature type. Locked at creation.

modeobject

Signing order strategy. Locked at creation.

deadlinestring date

Signing deadline (ISO 8601).

forceOnboardingboolean

Whether forced onboarding was requested for unresolved email participants.

statusobject

Current lifecycle status.

deliveryStateobject

Delivery/orchestration state of the process side effects (independent of <code>status</code>). Non-terminal values are retryable via <code>POST /signing/processes/{processId}/retry-delivery</code>.

signedCountinteger

Number of participants that have already signed.

pendingCountinteger

Number of participants still outstanding (<code>PENDING</code> / <code>FORCED_ONBOARDING</code>).

createdAtstring date-time

Creation timestamp (ISO 8601).

completedAtstring date-time nullable

Timestamp at which every required signature was collected. <code>null</code> while incomplete.

deleteAtstring date-time nullable

When the process/document will be finally deleted. Retention per CISO: open + signed documents 90 days; cancelled/deactivated processes 30 days; audit/process metadata 12 months.

Example response

{
  "processId": "6c2df3c0-5b1a-4c92-9c46-3b8a9e0e2d51",
  "title": "Rental contract Bahnhofstrasse 12",
  "description": "Please sign by the end of the month.",
  "submittedBy": {
    "pid": "c60d31fa-f335-4957-872a-90b035632081",
    "name": "Anna Muster"
  },
  "deadline": "2026-12-31",
  "forceOnboarding": true,
  "signedCount": 1,
  "pendingCount": 2,
  "participants": [
    {
      "internalTrackingId": "b4a9b3f1-c8d0-4e2a-b5f6-b7c8d9e0a1b2",
      "participantId": "c60d31fa-f335-4957-872a-90b035632081",
      "name": "Anna Muster",
      "roles": [
        "SIGNER",
        "RECEIVER"
      ],
      "hashedPrimaryValue": "5f4dcc3b5aa765d61d8327deb882cf99",
      "signedByUserEmail": "anna.muster@example.ch",
      "effectiveSignerUserEmail": "delegate@example.ch",
      "sequenceIndex": 1,
      "rejectedReason": "Wrong recipient",
      "signedAt": "2026-09-01T14:22:07Z"
    }
  ],
  "document": {
    "fileName": "rental-contract.pdf",
    "contentType": "application/pdf",
    "sizeBytes": 154382,
    "currentVersion": 2
  },
  "createdAt": "2026-08-13T09:15:30Z",
  "completedAt": "2026-09-05T11:03:19Z",
  "deleteAt": "2026-12-04T09:15:30Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.