---
title: "List Templates"
method: GET
path: "/api/documents/templates"
tags: ["templates"]
---

# List Templates

`GET /api/documents/templates`

## Request

- Base URL: `https://zsign.io` (the document declares no server; this is the origin it was published from)
- URL: `https://zsign.io/api/documents/templates`
- Auth: HTTP bearer

Every template the caller's org owns, each with its public link
status -- see DraftDocumentService.list_templates_with_links for why
link-backed templates are no longer hidden here.

Resolves the signing base URL ONCE for the whole response rather than
once per row: every template here belongs to the same org, so
get_signing_base_url (a UserBranding query) would otherwise repeat
identically for every link-backed template in the list.

## Response `200`

Successful Response

- TemplateListResponse
  - `templates` TemplateSummary[], required
    - `id` string, uuid, required
    - `name` string, required
    - `filename` string, required
    - `parties` string[], required
    - `field_count` integer, required
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `link` TemplateLinkStatus: The public-link half of a template row. None on TemplateSummary means this template has no public URL -- which is the normal case, not an error.
      - `id` string, uuid, required
      - `url` string, required
      - `enabled` boolean, required
    - `document_count` integer
    - `documents` EnvelopeDocumentOut[]
      - `id` string, required
      - `name` string, required
      - `filename` string, required
      - `page_start` integer, required
      - `page_count` integer, required
      - `position` integer, required
  - `total` integer, required

---

[API](https://skmtc.dev/zsign/apis/zsign-api.md) · [All operations](https://skmtc.dev/zsign/apis/zsign-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zsign/apis/zsign-api/revisions/a674ac4137ba?raw)
