Skip to main content
POST
One of a template’s documents, filled in with your values, as it would be sealed.

Authorizations

Authorization
string
header
required

Authorization: Bearer vsk_live_…. Chosen over a bespoke X-API-KEY header because every client, proxy and log-redaction rule already knows this one. What a key may DO is its scopes — see x-scopes at the root of this document and x-required-scope on each operation. The scope list is not written here because OpenAPI reserves a requirement’s scope array for oauth2 and openIdConnect and requires it to be empty for an http scheme.

Path Parameters

templateId
string<uuid>
required

The template’s id, as returned by the list endpoint. A template id.

Example:

"01960000-0000-4000-8000-0000000007e1"

Body

application/json

The values and subjects you would send to create, and optionally template_etag and document.

The values to draw.

values
object[]

Optional. Values to prefill, as triples. Omitted means none. ⚠️ A signature, a date_signed, a signer_name and a signer_email may not be prefilled — they are acts, or they are written by this system.

subjects
object

Optional. WHO THIS ENVELOPE IS ABOUT, as a map from a subject key the template declares to true (on this envelope), false (not), or "ask": the signer who holds that person’s section is asked first, in a required question, and their answer decides. While it is open the person reads present: false and awaiting_signer: true on the envelope. Two cases are settled at send instead, with nobody asked: a person no recipient holds a box for is left out, and a person a recipient signs for in a role standing for the same person is included. A field addressed to a subject that is not on the envelope is hidden from the signer and not required.

A subject you do not name takes the template’s own rule: a required subject is on every envelope, and a conditional one is absent and the signer is never asked about them, whatever the template’s Ask, Include or Leave out says (that choice applies to envelopes sent from the dashboard). Omitting subjects altogether opens the same sections as naming nobody — but see the next paragraph, because the two are not the same request. A key the template does not declare is refused, and so are false and "ask" for a required subject — all invalid_request, and nothing is created.

⚠️ IT SETS WHAT THE DOCUMENT OPENS WITH, NOT WHAT IT MUST STAY. The signer can switch a conditional subject on or off on the signing page, in either direction, and every such change is recorded in the envelope’s audit history.

⚠️ NAME AS true OR "ask" EVERY conditional SUBJECT YOU PREFILL. A value for a subject you ask about is shown if the signer answers Yes, and cleared if they answer No. A value in values for a conditional subject you did not name as present or asked is handled in one of two ways, depending on whether subjects is in the request at all:

  • subjects sent (even {}): the subject is absent — by false, or by the template’s rule when unnamed — so the value contradicts the request and is refused with invalid_request. Nothing is created.
  • subjects omitted: the value is accepted and stored, but the subject is absent by the template’s rule when the envelope is sent, so the prefilled section opens HIDDEN until the signer switches it on.

See Subjects.

Examples:
template_etag
string

Optional. The ETag of the template as you checked it — from GET /api/v1/templates/{templateId} or the template_etag of validate-values — with or without its quotes. When it is no longer current the preview is refused with template_changed, exactly as create would refuse the send.

Required string length: 1 - 200
document
integer

Which of the template’s documents to draw: its 1-based position in documents on GET /api/v1/templates/{templateId}. Required when the template holds more than one; otherwise the only one is drawn.

Required range: x >= 1

Response

The document, filled in and marked PREVIEW on every page. Content-Disposition: attachment; filename="<template name> (preview).pdf" — with (document 2 of 3) after the name for a template of several — and Cache-Control: no-store.

The PDF bytes. ⚠️ NOT JSON, like the draft render: every non-2xx is still the same Error envelope in application/json.