---
title: "Get template fields"
method: GET
path: "/templates/{id}/fields"
tags: ["Templates"]
---

# Get template fields

`GET /templates/{id}/fields`

Retrieve all fields configured for a specific template

## Path parameters

- `id` string, uuid, required

## Response `200`

Template fields retrieved successfully

- TemplateFieldListResponse — List of template fields
  - `results` TemplateField[], required
    - `id` string, uuid, required — Unique identifier for the field
    - `type` 'text' | 'signature' | 'date' | 'checkbox' | 'dropdown' | 'radio_buttons' | 'number' | 'text_area' | 'file' | 'initial' | 'stamp' | 'approval_signature' | 'approval_checkmark' | 'approval_date', required — Type of the field
    - `required` boolean — Whether the field is required
    - `recipient_id` string, uuid, nullable — ID of assigned recipient
    - `variable_name` string, nullable — Variable name for field (used in templates)
    - `variable_defined_name` string, nullable — Human-readable field name from the custom field definition (e.g. 'artist_name'). Only present for fields linked to a custom field definition, null otherwise.
    - `position` object — Position and dimensions of the field on the document. All values are percentages (0-100). The field must fit within the page: x + width <= 100 and y + height <= 100.
      - `x` number — X coordinate of field position (percentage, 0-100)
      - `y` number — Y coordinate of field position (percentage, 0-100)
      - `width` number — Width of the field (percentage, 0-100). Note: x + width must be <= 100
      - `height` number — Height of the field (percentage, 0-100). Note: y + height must be <= 100
    - `page_number` integer, nullable, required — Page number where the field is located (1-indexed). Must not exceed the document's total page count.
    - `dropdown_options` union — Options for dropdown fields
      - string[]
      - object
    - `multi_group_id` string, uuid, nullable — Group ID for linking multiple checkbox or radio button fields together. Fields sharing the same multi_group_id behave as a mutually exclusive group (like radio buttons) - selecting one automatically deselects the others in the group. Use the same UUID across multiple fields to create a group where only one option can be selected at a time.
    - `date_default` string, date, nullable — Default date value for date fields (ISO 8601 format, e.g., '2024-01-15')
    - `date_signing_default` boolean — Use signing date as default for date fields
    - `format_rules` DateFormatRules — Formatting rules for date fields. Specifies how date values should be displayed and formatted.
      - `dateFormat` 'MM/dd/yyyy' | 'dd/MM/yyyy' | 'yyyy-MM-dd' | 'MMMM dd, yyyy' | 'MMM dd, yyyy' | 'dd MMMM yyyy' — Date format pattern. Use predefined formats or custom patterns with: yyyy (4-digit year), MM (2-digit month), dd (2-digit day), MMMM (full month name), MMM (abbreviated month name), HH (24-hour), mm (minute), ss (second). Examples: 'MM/dd/yyyy' displays as 01/31/2024, 'MMMM dd, yyyy' displays as January 31, 2024.
      - `fontSize` integer — Optional starting/maximum font size in pixels for the rendered field value. Text still auto-shrinks to fit the field box. Omit for automatic sizing. Values outside 8-48 are clamped.
    - `validation_rules` FieldValidationRules, nullable — Validation rules for field values. Reserved for future use - currently not enforced for any field types.
    - `read_only` boolean — Whether this field is read-only (pre-filled before signing)
    - `read_only_value` string, nullable — Static value for read-only fields

## Other responses

- `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)
