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

# Get template

> Retrieve detailed information and DAG for a specific template.

## Path parameters

<ParamField path="template_id" type="string" required>
  The unique identifier of the template.
</ParamField>

## Response

<ResponseField name="id" type="string" required>
  Unique identifier for the template.
</ResponseField>

<ResponseField name="name" type="string" required>
  Template name.
</ResponseField>

<ResponseField name="type" type="string" required>
  Template type category.
</ResponseField>

<ResponseField name="created_at" type="string" required>
  ISO 8601 timestamp when the template was created.
</ResponseField>

<ResponseField name="is_custom" type="boolean" required>
  Whether this is a user-created template (`true`) or a platform-provided template (`false`).
</ResponseField>

<ResponseField name="description" type="string">
  Template description.
</ResponseField>

<ResponseField name="tags" type="array">
  Classification labels for discovery.
</ResponseField>

<ResponseField name="dag" type="object">
  Full DAG configuration for the template, including node definitions and processing instructions.

  For more information, see [Workflow Nodes](/api-reference/workflow/nodes/overview).
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url "${UNSTRUCTURED_API_URL}/api/v1/templates/t1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c" \
    --header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
  ```

  ```python Python SDK theme={null}
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import GetTemplateRequest

  client = UnstructuredClient(
      api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
      server_url=os.getenv("UNSTRUCTURED_API_URL"),
  )

  response = client.templates.get_template(
      request=GetTemplateRequest(
          template_id="t1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c"
      )
  )
  print(response)
  ```

  ```python Python SDK (async) theme={null}
  import asyncio
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import GetTemplateRequest

  async def get_template():
      client = UnstructuredClient(
          api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
          server_url=os.getenv("UNSTRUCTURED_API_URL"),
      )
      response = await client.templates.get_template_async(
          request=GetTemplateRequest(
              template_id="t1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c"
          )
      )
      print(response)

  asyncio.run(get_template())
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "t1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
    "name": "Basic ETL",
    "description": "A simple extract, transform, and load workflow template.",
    "type": "etl",
    "created_at": "2026-01-01T00:00:00Z",
    "tags": ["etl", "basic"],
    "is_custom": false,
    "dag": {
      "nodes": [
        {
          "id": "n1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
          "node_type": "partition",
          "node_subtype": "auto",
          "config": {}
        }
      ]
    }
  }
  ```
</ResponseExample>
