---
title: "Partially Update Template"
method: PATCH
path: "/templates/{id}"
tags: ["Templates"]
---

# Partially Update Template

`PATCH /templates/{id}`

Update template properties, a single user, OR a single field. Cannot mix multiple entity types in one request. Use PUT for comprehensive updates including users, fields, and reminders.

## Path parameters

- `id` string, uuid, required

## Request body

- union
  - object — Update template properties
    - `name` string — Template name
    - `description` string — Template description
    - `document` string, byte — Base64-encoded PDF or DOCX to replace document. DOCX files are automatically converted to PDF. For documents larger than 5 MB, use POST /documents and pass the document_id instead. (mutually exclusive with document_id)
    - `document_id` string, uuid — ID of a previously uploaded document (mutually exclusive with document). Obtain by calling POST /documents first.
    - `expiration_hours` integer — Hours until expiration
    - `settings` object
      - `allow_editing_before_sending` boolean
      - `attach_pdf_on_finish` boolean
      - `allow_download` boolean
      - `hand_drawn_only` boolean
      - `require_otp_verification` boolean, nullable
      - `disable_guided_navigation` boolean, nullable
      - `allow_presigning_download` boolean, nullable — Allow signers to download the original document before signing. Inherits from workspace or company setting when null.
      - `show_qr_code` boolean, nullable — Show a QR code on the signing page that lets signers continue on their phone. Inherits from workspace or company setting when null.
  - object — Update or create a single user
    - `user` object, required
      - `id` string, uuid — Include to update existing user, omit to create new
      - `first_name` string, required
      - `last_name` string — Optional, but required if using full_name or last_name prefilled variables
      - `email` string, email, required
      - `designation` 'Signer' | 'Approver' | 'CC', required
      - `order` integer, required
      - `phone_number` string
      - `street_address` string
      - `city` string
      - `state_province` string
      - `postal_code` string
      - `country` string
      - `title` string
      - `company` string
  - object — Update or create a single field
    - `field` object, required
      - `id` string, uuid — Include to update existing field, omit to create new
      - `type` 'text' | 'signature' | 'date' | 'checkbox' | 'initial' | 'initials' | 'dropdown' | 'radio_buttons' | 'textarea' | 'text_area' | 'url' | 'file' | 'stamp' | 'approval_signature' | 'approval_checkmark' | 'approval_date' — Field type. Accepts 'initial' or 'initials', 'textarea' or 'text_area'. Required for new fields. url fields are automatically read-only. file fields allow signers to upload attachments (images/PDF). stamp fields display a pre-configured image.
      - `x` number — X position on document. Required for new fields.
      - `y` number — Y position on document. Required for new fields.
      - `width` number — Field width. Required for new fields.
      - `height` number — Field height. Required for new fields.
      - `page` integer — Page number (1-indexed). Required for new fields.
      - `required` boolean — Whether field is required
      - `assigned_to_user_id` string, uuid, nullable — Template user ID to assign field to
      - `variable_name` string — Variable name for prefilled data mapping
      - `variable_defined_name` string, nullable — Human-readable custom field definition name. Can be used as an alternative to variable_name for targeting fields in template-based creation.
      - `options` string[] — Options for dropdown fields
      - `format_rules` object — Format rules (e.g., date format, urlDisplayText for url fields, acceptedFileTypes for file fields)
      - `multi_group_id` string, uuid — Group ID for radio button groups
      - `default_to_signing_date` boolean — For date fields, use signing date as default
      - `read_only` boolean — Whether field is read-only (automatically true for url fields)
      - `read_only_value` string — Static value for read-only fields. For url fields, this is the URL to link to.

## Response `200`

Template partially updated successfully

- TemplatePatchResponse — Template partial update result
  - `message` string, required
  - `updated_fields` string[], required — Returned when updating properties
  - `user` object — Returned when updating/creating a user

## Other responses

- `400` — Bad Request - Validation failed
- `401` — Unauthorized - Invalid or missing API key
- `404` — Not Found - Resource does not exist
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firma/firma-partner-api/revisions/5c03d6a9d080/schema)
