> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dekasign.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prepare frozen signing preview

> Required scope: packages:create. Sandbox only; app allowlists and requester authority also apply.



## OpenAPI

````yaml /openapi.json post /api/v1/signature-packages/preview
openapi: 3.0.3
info:
  title: DekaSign sandbox and session API
  version: '2026-10-18'
  description: >-
    Management endpoints are sandbox-only and may return SANDBOX_API_DISABLED on
    production hosts. Template authoring and human approval decisions are not
    machine-key APIs. Session routes are separately authenticated. Responses are
    intentionally extensible; narrative guides document key fields. This
    specification does not grant access or enable feature flags.
servers:
  - url: https://{workspace}.dekasign.com
    description: Use the authorized sandbox workspace supplied by your administrator.
    variables:
      workspace:
        default: your-workspace
security: []
paths:
  /api/v1/signature-packages/preview:
    post:
      tags:
        - signature-packages
      summary: Prepare frozen signing preview
      description: >-
        Required scope: packages:create. Sandbox only; app allowlists and
        requester authority also apply.
      operationId: post_signature_packages_preview
      parameters:
        - name: X-Dekasign-Environment
          in: header
          required: true
          schema:
            type: string
            enum:
              - sandbox
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                template_id:
                  type: string
                expires_in_days:
                  type: integer
                  minimum: 1
                  maximum: 365
                sender_values:
                  type: object
                  additionalProperties:
                    oneOf:
                      - type: string
                        maxLength: 4000
                      - type: number
                      - type: boolean
                signers:
                  type: array
                  minItems: 1
                  maxItems: 20
                  items:
                    type: object
                    properties:
                      slot_id:
                        type: string
                      name:
                        type: string
                        minLength: 2
                        maxLength: 100
                      email:
                        type: string
                        format: email
                      phone:
                        type: string
                        maxLength: 30
                      recipient_kind:
                        type: string
                        enum:
                          - internal
                          - external
                    required:
                      - slot_id
                      - name
                      - email
                    additionalProperties: false
              required:
                - template_id
                - expires_in_days
                - signers
              additionalProperties: false
      responses:
        '200':
          description: >-
            Operation result. Read fields vary by endpoint and deployment; see
            narrative guide.
          content:
            application/json:
              schema:
                type: object
                properties:
                  preview_token:
                    type: string
                    description: Secret frozen receipt; valid for 10 minutes. Do not log.
                  template_id:
                    type: string
                  template_name:
                    type: string
                  template_version:
                    type: integer
                  expires_at:
                    type: string
                    format: date-time
                  preview_valid_until:
                    type: string
                    format: date-time
                  signers:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                  fields:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                  pdf_url:
                    type: string
                  pdf_url_is_source:
                    type: boolean
                    enum:
                      - true
                  prepared_pdf:
                    type: object
                    properties:
                      url:
                        type: string
                      method:
                        type: string
                        enum:
                          - POST
                      body:
                        type: object
                        properties:
                          template_id:
                            type: string
                          preview_token:
                            type: string
                        required:
                          - template_id
                          - preview_token
                        additionalProperties: false
                    required:
                      - url
                      - method
                      - body
                    additionalProperties: false
                  notice:
                    type: string
                additionalProperties: true
        '400':
          description: Invalid operation or layout.
        '401':
          description: Invalid or expired credential/session.
        '403':
          description: Scope, environment, tenant or authority denied.
        '404':
          description: Not found or outside app scope.
        '409':
          description: Stale version, active usage or idempotency conflict.
        '422':
          description: Invalid schema or required idempotency key.
        '429':
          description: Rate limited.
        '503':
          description: Sandbox disabled or operation temporarily unavailable.
      security:
        - SandboxBearer: []
components:
  securitySchemes:
    SandboxBearer:
      type: http
      scheme: bearer
      description: Sandbox dks_test_ key, server-side only.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.