> ## Documentation Index
> Fetch the complete documentation index at: https://docs.craftkit.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# List templates

> GET /v1/templates — list the templates in your project with publish state.

<Info>**GET** `https://api.craftkit.dev/v1/templates`</Info>

Returns every non-deleted template in the authenticated key's project, newest-updated first.
Lightweight — no manifest. Use [Get a template](/api-reference/get-template) for the manifest.

## Authorization

<ParamField header="Authorization" type="string" required>
  `Bearer ck_live_…` — a project API key.
</ParamField>

## Response

<ResponseField name="templates" type="object[]">
  <Expandable title="template">
    <ResponseField name="id" type="string" />

    <ResponseField name="name" type="string" />

    <ResponseField name="slug" type="string">The identifier used in render and read calls.</ResponseField>

    <ResponseField name="description" type="string | null" />

    <ResponseField name="templateType" type="string">`document` or `pdf-overlay`. See [Render pipelines](/guides/render-pipelines).</ResponseField>
    <ResponseField name="currentVersionNumber" type="number | null">Null if no version is published.</ResponseField>

    <ResponseField name="published" type="boolean" />

    <ResponseField name="createdAt" type="string" />

    <ResponseField name="updatedAt" type="string" />
  </Expandable>
</ResponseField>

```bash cURL theme={null}
curl https://api.craftkit.dev/v1/templates \
  -H "Authorization: Bearer $CRAFTKIT_API_KEY"
```

```json 200 theme={null}
{
  "templates": [
    {
      "id": "…",
      "name": "Charter Handover",
      "slug": "charter-handover",
      "description": null,
      "templateType": "document",
      "currentVersionNumber": 2,
      "published": true,
      "createdAt": "2026-05-01T09:00:00.000Z",
      "updatedAt": "2026-06-01T12:00:00.000Z"
    }
  ]
}
```
