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

# Get template

`GET /templates/{id}`

## Request

- Base URL: `https://next.frase.io/api/v1`
- URL: `https://next.frase.io/api/v1/templates/{id}`
- Auth: API key in header `X-API-KEY`

Retrieve a specific content template by ID.

## Path parameters

- `id` string, uuid, required

## Response `200`

Template details

- object
  - `data` Template: A content template defining outline structure, boilerplate blocks, and field defaults.
    - `id` string, uuid
    - `name` string
    - `description` string, nullable
    - `content_type` 'blog' | 'guide' | 'landing' | 'product' | 'comparison', nullable
    - `outline_sections` TemplateSectionDef[]
      - `heading` string, required: The section heading text
      - `level` integer, required: Heading level (1-6)
      - `keyPoints` string[]: Key points to cover in this section
      - `suggestedWordCount` integer: Suggested word count for this section
      - `isRequired` boolean: Whether this section is required
      - `generationMode` 'ai' | 'manual': Whether AI generates this section or user provides content
    - `section_count` integer: Number of sections in the outline
    - `total_word_count` integer: Sum of suggested word counts across all sections
    - `boilerplate_blocks` BoilerplateBlock[], nullable
      - `id` string, required: Unique identifier for the block
      - `position` 'before_section' | 'after_section' | 'header' | 'footer', required: Where to insert the block
      - `anchorSectionHeading` string: Section heading to anchor to (for before_section/after_section positions)
      - `content` string, required: The boilerplate content (max 50,000 characters)
      - `label` string, required: Display label for the block
    - `field_defaults` TemplateFieldDefaults: Default field values applied when the template is used.
      - `targetWordCount` integer: Default target word count
      - `metaTitleFormat` string: Default meta title format
      - `suggestedTone` string: Default suggested tone
      - `targetLanguage` string: Default target language
      - `targetCountry` string: Default target country
    - `source_type` string, nullable: Source from which this template was extracted
    - `is_system` boolean: Whether this is a system-provided template
    - `is_default` boolean: Whether this is the default template
    - `is_enabled` boolean: Whether this template is enabled
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
  - `request_id` string

## Other responses

- `401`: Authentication failed
- `404`: Resource not found
- `429`: Rate limit exceeded

---

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