---
title: "Get a document template"
method: GET
path: "/document-templates/{id}"
tags: ["Reference Data"]
---

# Get a document template

`GET /document-templates/{id}`

Returns a single document template (quotation, invoice, proforma, etc.) including template-scoped custom field definitions.

## Path parameters

- `id` string, required

## Response `200`

OK

- DocumentTemplate
  - `id` string, required — Template ID (tpl_ prefix)
  - `name` string, required — Template name
  - `type` string, required — Document type (for example quotations, invoices)
  - `isActive` boolean, required
  - `isSignatureRequired` boolean, required — Whether e-signature is required on send
  - `valueType` 'STATIC' | 'DYNAMIC', required — Content mode
  - `documentName` string, nullable — Default document title pattern
  - `subject` string, nullable — Default email subject
  - `customFields` DocumentTemplateCustomField[], required
    - `key` string, required — Custom field key — use as cf_* on quotations
    - `label` string, required — Field label in Heffl
    - `dataType` string, required — Field data type
    - `required` boolean, required
    - `values` string[], required — Allowed option values

## Other responses

- `400` — Validation error or bad request
- `401` — Missing or invalid API key
- `403` — Insufficient permission
- `404` — Resource not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/heffl/apis/heffl-api-v2-beta.md) · [All operations](https://skmtc.net/heffl/apis/heffl-api-v2-beta/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/heffl/heffl-api-v2-beta/versions/27006cfef4d8/schema)
