# Get template

> Retrieve one template, including its html and text body.

Source: https://sndr.sh/docs/cranl/templates/get-template

`GET https://api.sndr.sh/api/cranl/v1/templates/{id}`

Retrieve one template, including its html and text body.

Scope: `read`

**Path parameters**

- `id` (string, required): Template ID (tpl_...).

**Request**

```bash
curl 'https://api.sndr.sh/api/cranl/v1/templates/tpl_c19e5d34-82a' \
  -H 'Authorization: Bearer sndr_your_access_token'
```

**Response** (200)

```json
{
  "id":              "tpl_c19e5d34-82a",
  "organization_id": "org_8d41c7a2-3f6",
  "name":            "Order confirmation",
  "subject":         "Your order #{{ order_id }} is confirmed",
  "html":            "<h1>Hi {{ first_name }},</h1><p>Order #{{ order_id }} confirmed.</p>",
  "text":            "Hi {{ first_name }}, order #{{ order_id }} confirmed.",
  "version":         3,
  "created_at":      "2026-02-10T14:00:00Z",
  "updated_at":      "2026-05-01T09:00:00Z"
}
```

**Errors**

- `unauthenticated` (401): Missing or invalid Bearer token.
- `token_expired` (401): Access token expired — exchange the refresh token for a new pair.
- `token_revoked` (401): Token was explicitly revoked.
- `insufficient_scope` (403): Token is missing the read scope.
- `not_found` (404): Resource does not exist or belongs to a different account.
