Envelopes
An envelope is the core entity in Inspakt. It represents a single signing session and acts as the container for all associated documents, recipients, and fields.
Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier for the envelope. |
teamId | string | The team that owns this envelope. |
name | string | Display name (2–48 characters). |
status | string | Current lifecycle status. See below. |
templateId | string | Set if the envelope was created from a template via jumpstart. |
context | object | Arbitrary key-value metadata you attach at creation and retrieve later. |
createdAt | datetime | When the envelope was created. |
sentAt | datetime | When the envelope was sent to recipients. |
completedAt | datetime | When the envelope reached finalized status. |
voidedAt | datetime | When the envelope was voided. |
The context field
The context object is a free-form JSON payload you can attach to any envelope. Use it to store data that links the envelope back to your own system — such as a contract ID, customer reference, or order number. Inspakt does not process this data; it is returned as-is whenever you fetch the envelope.
{
"name": "Service Agreement — Acme Corp",
"context": {
"contractId": "CNT-2025-00412",
"customerId": "cust_abc123",
"region": "EMEA"
}
}
Lifecycle
An envelope progresses through a linear sequence of statuses. Some transitions are automatic (driven by recipient actions), others are triggered by API calls.
draft ──► sent ──► finalized
│
├──► voided
└──► expired
| Status | Description | How it's reached |
|---|---|---|
draft | Created but not yet dispatched. Documents, recipients, and fields can still be modified. | Initial state on creation. |
sent | Dispatched to recipients. Signing is in progress. | PUT /envelopes/{id}/send |
finalized | All required recipients have completed their actions. | Automatic when all required signers complete. |
voided | Manually cancelled. No further actions possible. | POST /envelopes/{id}/void |
expired | The signing deadline passed before finalization. | Automatic when expirationPeriodDays elapses. |
Once an envelope leaves draft status, its documents, recipients, and field assignments can no longer be modified.
Reminder and expiration settings
These optional fields are set at creation time and cannot be changed after the envelope is sent.
| Field | Type | Range | Description |
|---|---|---|---|
expirationPeriodDays | number | 1–90 | Days from send until the envelope expires. |
reminderInitialDelayDays | number | 0–30 | Days after sending before the first reminder email is sent. |
reminderRepeatIntervalDays | number | 0–30 | Interval between subsequent reminder emails. |
reminderBeforeExpirationDays | number | 0–30 | Days before expiration to send a final reminder. |
Envelope created from a template
When an envelope is jumpstarted from a template, the templateId field is populated. The envelope inherits the template's documents, fields, and fixed recipient assignments. Variable recipient slots must be provided at jumpstart time.
See Start from a template for the full workflow.