---
title: "Get template snapshot (Cloud-only)"
method: GET
path: "/v1/templates/{project_id}/{template_version}/snapshot"
tags: ["templates"]
---

# Get template snapshot (Cloud-only)

`GET /v1/templates/{project_id}/{template_version}/snapshot`

Get a snapshot of the template version, this will return the template state at a specific version

## Path parameters

- `project_id` string, required
- `template_version` string, required

## Response `200`

200

- object
  - `agents` object[], required
    - `model` string, required
    - `systemPrompt` string, required
    - `toolIds` string[], nullable, required
    - `sourceIds` string[], nullable, required
    - `memoryVariables` object, nullable, required
      - `version` string, required
      - `data` object[], required
        - `key` string, required
        - `defaultValue` string, nullable
        - `type` string, required
    - `toolVariables` object, nullable, required
      - `version` string, required
      - `data` object[], required
        - `key` string, required
        - `defaultValue` string, nullable
        - `type` string, required
    - `tags` string[], nullable, required
    - `identityIds` string[], nullable, required
    - `toolRules` union[], nullable, required
      - union
        - object
          - `tool_name` string, required
          - `type` 'constrain_child_tools'
          - `prompt_template` string, nullable
          - `children` string[], required
          - `child_arg_nodes` object[], nullable
            - `name` string, required
            - `args` object, nullable
        - object
          - `tool_name` string, required
          - `type` 'run_first'
          - `prompt_template` string, nullable
          - `args` object, nullable
        - object
          - `tool_name` string, required
          - `type` 'exit_loop'
          - `prompt_template` string, nullable
        - object
          - `tool_name` string, required
          - `type` 'conditional'
          - `prompt_template` string, nullable
          - `default_child` string, nullable
          - `child_output_mapping` object, required
          - `require_output_mapping` boolean
        - object
          - `tool_name` string, required
          - `type` 'continue_loop'
          - `prompt_template` string, nullable
        - object
          - `tool_name` string, required
          - `type` 'required_before_exit'
          - `prompt_template` string, nullable
        - object
          - `tool_name` string, required
          - `type` 'max_count_per_step'
          - `prompt_template` string, nullable
          - `max_count_limit` number, required
        - object
          - `tool_name` string, required
          - `type` 'parent_last_tool'
          - `prompt_template` string, nullable
          - `children` string[], required
        - object
          - `tool_name` string, required
          - `type` 'requires_approval'
          - `prompt_template` string, nullable
    - `agentType` 'letta_v1_agent' | 'memgpt_agent' | 'memgpt_v2_agent' | 'react_agent' | 'workflow_agent' | 'split_thread_agent' | 'sleeptime_agent' | 'voice_convo_agent' | 'voice_sleeptime_agent', required
    - `properties` object, nullable, required
      - `enable_reasoner` boolean, nullable, required
      - `put_inner_thoughts_in_kwargs` boolean, nullable, required
      - `context_window_limit` number, nullable, required
      - `max_tokens` number, nullable, required
      - `max_reasoning_tokens` number, nullable, required
      - `max_files_open` number, nullable, required
      - `message_buffer_autoclear` boolean, nullable, required
      - `verbosity_level` 'low' | 'medium' | 'high', nullable, required
      - `reasoning_effort` 'minimal' | 'low' | 'medium' | 'high', nullable, required
      - `per_file_view_window_char_limit` number, nullable, required
      - `temperature` number, nullable, required
    - `entityId` string, required
    - `name` string, required
  - `blocks` object[], required
    - `entityId` string, required
    - `label` string, required
    - `value` string, required
    - `limit` number, required
    - `description` string, required
    - `preserveOnMigration` boolean, nullable, required
    - `readOnly` boolean, required
  - `relationships` object[], required
    - `agentEntityId` string, required
    - `blockEntityId` string, required
  - `configuration` object, required
    - `managerAgentEntityId` string
    - `managerType` string
    - `terminationToken` string
    - `maxTurns` number
    - `sleeptimeAgentFrequency` number
    - `maxMessageBufferLength` number
    - `minMessageBufferLength` number
  - `type` 'classic' | 'cluster' | 'sleeptime' | 'round_robin' | 'supervisor' | 'dynamic' | 'voice_sleeptime', required
  - `version` string, required

## Changes

- **2025-10-01** `17b1c4a59276` — 1 breaking, 1 info
  - added `subschema #1, subschema #2` to the `agents/items/toolRules/items/` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `agents/items/toolRules/items/` response property `oneOf` list for the response status `200`

[Change history](https://skmtc.dev/yu-code666/apis/letta-api/changes/v1/templates/:project_id/:template_version/snapshot/get.md)

---

[API](https://skmtc.dev/yu-code666/apis/letta-api.md) · [All operations](https://skmtc.dev/yu-code666/apis/letta-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/yu-code666/letta-api/revisions/6cec99480c13/schema)
