---
title: "Retrieve a template"
description: "Takes the id or the slug. The newest version comes back in full, body included."
url: "https://openemail.uk/docs/api/templates/get"
area: "API"
category: "Mailbox"
---

# Retrieve a template

Takes the id or the slug. The newest version comes back in full, body included.

`GET /templates/{id}`

## GET /templates/{id}

Takes the id or the slug. The newest version comes back in full, body included.

## Example

Needs `templates:read`. Ids carry a `tpl_` prefix and slugs cannot, so the two vocabularies cannot collide on this path.

**curl**

```
curl "$OE/templates/order-shipped" -H "$AUTH"
```

**Response**

```
{
  "object": "template",
  "id": "tpl_9c1f0a4b7e05d3862c1f0a44",
  "name": "Order shipped",
  "slug": "order-shipped",
  "status": "active",
  "publishedVersion": 3,
  "latestVersion": 4,
  "subject": "Order {{orderId}} is on its way",
  "engine": "html",
  "slots": [],
  "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],
  "latest": {
    "object": "template_version",
    "id": "tplv_5d31c2a8…",
    "templateId": "tpl_9c1f0a4b7e05d3862c1f0a44",
    "version": 4,
    "state": "draft",
    "engine": "html",
    "subject": "Order {{orderId}} is on its way",
    "slots": [],
    "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],
    "document": null,
    "html": "<p>Hello {{customer}}, {{orderId}} left the warehouse.</p>",
    "createdAt": "2026-08-28T16:03:10.000Z",
    "publishedAt": null
  },
  "createdAt": "2026-08-01T09:12:44.000Z",
  "updatedAt": "2026-08-28T16:03:10.000Z"
}
```

> `latest` is the NEWEST version, which is the draft when there is an unpublished edit. The fields beside it (`subject`, `engine`, `slots`, `props`) describe the PUBLISHED one, because that is what a send resolves.

> `document` is the block tree and is null under `engine: "html"`; `html` is the markup as submitted and is null under `engine: "blocks"`. Only a single retrieval carries either. A list of versions each holding a full tree is a payload nobody asked for.
