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

# Get a template

`GET /templates/{id}`

Gets a template by ID

## Path parameters

- `id` string, uuid, required

## Response `200`

Template

- TemplateShowResponse — Full template information
  - `template` object, required
    - `attachments` object[], required — Attached files
      - `original` string, uri, required — URL of the attachment
      - `preview` string[] — If the original is a template, this field will hold an list URL with image previews of each page
    - `company_logo_url` string, uri, nullable, required — The URL of the logo shown in the document
    - `created_at` string, date-time, required — The date and time when the template was created
    - `data_fields` object[], required — Data fields in the template
      - `config` object, required — Additional config for this data field. Contains `options` for `select`, or `label` for `checkbox`.
        - `label` string, nullable
        - `options` string[]
      - `description` string, nullable, required — Description
      - `formatting` object, nullable, required — Formatting
        - `fractional` boolean, nullable
        - `grouping` '' | 'dot' | 'comma' | 'space', nullable
      - `id` string, uuid, required — Unique ID
      - `name` string, required — Name
      - `required` boolean, required — Whether this data field must be filled to send the document for signature
      - `source` 'drafter_questionnaire' | 'ai' | 'salesforce', nullable, required — Source of data for this data field
      - `source_mapping` string, nullable, required — Integration data mapping for this data field. Revealed only when connected to the same integration instance.
      - `source_sync_type` 'downstream' | 'upstream' | 'bidirectional', nullable, required — Integration sync mode for this data field. Revealed only when connected to the same integration instance.
      - `type` 'text' | 'number' | 'date' | 'select' | 'checkbox', required — Type
      - `value` string, nullable, required — Value
    - `default_message` string, required — A default message that will get copied to the draft
    - `description` string, required — Description of the template
    - `id` string, uuid, required — Template ID
    - `language` string, required — Language
    - `owned` boolean, required — Tells if the templates is owned by the requesting user
    - `owner_id` string, uuid, required — Template owner ID
    - `parties` object[], required — Parties and signees
      - `address` string, nullable — Address
      - `id` string, uuid, nullable — Unique ID
      - `name` string, nullable — Name
      - `number` string, nullable — Company's VAT number or CVR
      - `reference` string, nullable — How the party will be referred to in the document
      - `signees` object[] — Party's signees
        - `changes_requested_at` string, date-time, nullable — Date and time when the signee requested changes to the document
        - `email` string, email, nullable — Signee's email address
        - `full_name` string, nullable — Signee's full name
        - `id` string, uuid, nullable — Unique ID
        - `opened_at` string, date-time, nullable — Date and time when the signee opened the document
        - `order` integer — Signee's signing order. When the signing order mode is set to `grouped`, then this number represents the signee's group number.
        - `rejected_at` string, date-time, nullable — Date and time when the signee rejected the document
        - `signature_verification_methods` string[], nullable — List of allowed signature types for the signee
        - `signed_at` string, date-time, nullable — Date and time when the signee signed the document
        - `title` string, nullable — Signee's title
      - `type` 'personal' | 'company' — Type
    - `signing_order_mode` 'random' | 'strict' | 'grouped', nullable, required — The signing order mode. When it's set to grouped, each signee in `parties.signees`, should have the order field set to the group's number starting from 0.
    - `slug` string, nullable, required — Template slug
    - `template` object — Template content
    - `title` string, required — Title
    - `updated_at` string, date-time, required — The date and time of the last time the template was edited

## Other responses

- `401` — Unauthorized
- `404` — Not Found

---

[API](https://skmtc.net/contractbook/apis/contractbook-api.md) · [All operations](https://skmtc.net/contractbook/apis/contractbook-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/contractbook/contractbook-api/revisions/ae9d64e51a99/schema)
