---
title: "Get a template by id"
method: GET
path: "/api/v1/templates/{id}"
tags: ["public"]
---

# Get a template by id

`GET /api/v1/templates/{id}`

## Request

- Base URL: `https://makespdf.com`
- URL: `https://makespdf.com/api/v1/templates/{id}`
- Auth: none required

Returns the template's DSL and sampleData. Library templates are readable anonymously; user templates only by their owner.

## Path parameters

- `id` string, required

## Response `200`

The template.

- Template
  - `templateId` string, required: Library slug or user template UUID.
  - `ownerUserId` string, nullable: null for curated library rows.
  - `name` string, required
  - `description` string
  - `category` string, nullable, required
  - `tags` string[], required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `dsl` string, required: Builder DSL source.
  - `sampleData` unknown

## Other responses

- `404`: Not found, or not visible to this caller.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error. Never billed.

---

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