Skip to main content
DELETE
Remove a document from a bundle

Authorizations

Authorization
string
header
required

API key, e.g. Authorization: Bearer sajn_svc_.... Not scope-limited: acts with its owner's workspace role.

Headers

Sajn-Version
enum<string>

API version for this request. Without it, the request uses the organization's default version; an organization without a default is pinned to the latest version by its first request.

Available options:
2026-09,
2026-10
Sajn-Workspace
string

ID of the workspace this request acts in, from GET /api/v1/workspaces. Without it, an API key acts in its default workspace. The token's user must be a member of the workspace; an OAuth token only accepts the workspace it was granted for. A workspace that doesn't exist or can't be reached returns 403 WORKSPACE_ACCESS_DENIED.

Idempotency-Key
string

Makes retries safe. A retry with the same key and the same request replays the stored response for 24 hours (header Idempotent-Replayed: true); the same key with a different request returns 400.

Maximum string length: 255

Path Parameters

id
string
required

The bundle ID.

documentId
string
required

The document ID.

Body

application/json

Body

The body is of type object.

Response

200

id
string
required

The document ID.

name
string | null
required

The bundle name, shown as the heading of the bundle page and in the invitation.

status
enum<string>
required

DRAFT while you build it, and again after a withdraw. OPEN from the send until every document is resolved, then COMPLETED. CANCELED after a cancel.

Available options:
DRAFT,
OPEN,
COMPLETED,
CANCELED
subject
string | null
required

The subject line of the invitation email.

message
string | null
required

A message included in every invitation.

expiresAt
string<date-time> | null
required

The expiry date of the bundle. Every document in it gets the same one.

signingMode
enum<string>
required

How the parties sign: PARALLEL, all at once, or SEQUENTIAL, one at a time in the order of each party's signingOrder. The order runs across every document in the bundle.

Available options:
PARALLEL,
SEQUENTIAL
language
enum<string>
required

Language of the bundle page and the emails to the parties, an ISO 639-1 code such as sv.

Available options:
sv,
en,
no,
da,
fi,
de,
is,
es,
fr,
it
reminderIntervalDays
integer | null
required

Days between automatic reminders. 0 turns them off, and null uses the default of 3.

Required range: -9007199254740991 <= x <= 9007199254740991
signableAfterExpired
boolean
required

Whether the documents can still be signed after expiresAt.

internalRecipients
string[]
required

Email addresses that receive a copy of each sealed PDF once its document is completed.

nationalIdDisplayMode
enum<string> | null
required

How national identity numbers are displayed to signers: FULL, PARTIAL, or NONE. null keeps each document's own setting.

Available options:
FULL,
PARTIAL,
NONE,
null
openVerification
enum<string> | null
required

Verification every party passes before the document opens: PIN, SMS, EMAIL, or an eID such as SE_BANKID. null means none. A party's own openVerification overrides it.

Available options:
PIN,
SMS,
EMAIL,
SE_BANKID,
NO_BANKID_BIOMETRIC,
NO_BANKID_HIGH,
DK_MITID,
DK_MITID_ERHVERV,
FI_FTN,
NL_IDIN,
null
sendPlainTextEmailOnly
boolean | null
required

Send plain text invitations only, without HTML. null inherits the workspace default.

redirectUrl
string | null
required

URL to send a party to once they have signed.

redirectEnabled
boolean
required

Whether redirectUrl is used.

documentCount
integer
required

The number of documents in documents.

Required range: -9007199254740991 <= x <= 9007199254740991
createdAt
string<date-time>
required

When the document was created.

updatedAt
string<date-time>
required

When the document was last updated.

documents
object[]
required

The documents in the bundle, oldest first.

parties
object[]
required

The bundle's parties, in signing order.