{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/signwell/main/json-schema/DocumentTemplateUpdateRequest.json",
  "title": "DocumentTemplateUpdateRequest",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the template."
    },
    "subject": {
      "type": "string",
      "description": "Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."
    },
    "message": {
      "type": "string",
      "description": "Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."
    },
    "draft": {
      "type": "boolean",
      "default": false,
      "description": "Whether the template can still be updated before it is ready for usage. If set to `false` the template is marked as `Available` and it will be ready for use. Defaults to `false`."
    },
    "expires_in": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."
    },
    "reminders": {
      "type": "boolean",
      "default": true,
      "description": "Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."
    },
    "apply_signing_order": {
      "type": "boolean",
      "default": false,
      "description": "When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."
    },
    "api_application_id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"
    },
    "redirect_url": {
      "type": "string",
      "format": "url",
      "description": "A URL that recipients are redirected to after successfully signing a document."
    },
    "allow_decline": {
      "type": "boolean",
      "default": true,
      "description": "Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."
    },
    "allow_reassign": {
      "type": "boolean",
      "default": true,
      "description": "In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."
    },
    "decline_redirect_url": {
      "type": "string",
      "format": "url",
      "description": "A URL that recipients are redirected to if the document is declined."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."
    },
    "labels": {
      "$ref": "#/components/schemas/LabelsUpdate"
    },
    "checkbox_groups": {
      "$ref": "#/components/schemas/TemplateCheckboxGroups"
    }
  }
}