> ## 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.

# Save revision draft

> Required scope: requests:revise. Sandbox only; app allowlists and requester authority also apply.



## OpenAPI

````yaml /openapi.json patch /api/v1/approval-requests/{id}/revision-draft
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/approval-requests/{id}/revision-draft:
    patch:
      tags:
        - approval-requests
      summary: Save revision draft
      description: >-
        Required scope: requests:revise. Sandbox only; app allowlists and
        requester authority also apply.
      operationId: patch_approval_requests_id_revision_draft
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Workspace-scoped identifier.
        - name: X-Dekasign-Environment
          in: header
          required: true
          schema:
            type: string
            enum:
              - sandbox
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 8
            maxLength: 160
            pattern: ^[!-~]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expected_version:
                  type: integer
                  minimum: 1
                expected_task_version:
                  type: integer
                  minimum: 1
                form_data:
                  type: object
                  additionalProperties: true
                documents:
                  type: array
                  items:
                    type: object
                    properties:
                      document_id:
                        type: string
                      field_key:
                        type: string
                      name:
                        type: string
                      sign_actor_ids:
                        type: array
                        items:
                          type: string
                        maxItems: 20
                    required:
                      - document_id
                      - field_key
                      - name
                    additionalProperties: false
                  maxItems: 20
              required:
                - expected_version
                - expected_task_version
                - form_data
              additionalProperties: false
      responses:
        '200':
          description: >-
            Operation result. Read fields vary by endpoint and deployment; see
            narrative guide.
          content:
            application/json:
              schema:
                type: object
                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.