---
title: "Create a workflow template"
method: POST
path: "/workspaces/{workspace_id}/templates"
tags: ["Workflow Templates"]
---

# Create a workflow template

`POST /workspaces/{workspace_id}/templates`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/workspaces/{workspace_id}/templates`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Create a new reusable workflow template in the workspace.

## Path parameters

- `workspace_id` integer, required: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.

## Request body

- CreateTemplateRequest
  - `name` string, required: Template name
  - `description` string, nullable: Optional description
  - `template_data` object, nullable: Serialized graph structure
  - `endpoint_layers` object, nullable: Per-endpoint layer preservation rules
  - `save_preset` 'keep-all' | 'structure-only' | 'empty': How to handle data when instantiating a template.
  - `visibility` 'private' | 'project' | 'organization': Visibility scope: private | project | organization

## Response `201`

Document created, URL follows

- TemplateResponse
  - `id` integer, required
  - `workspace_id` integer, required
  - `name` string, required
  - `description` string, nullable
  - `status` string, nullable
  - `save_preset` string, nullable
  - `template_data` object, nullable
  - `endpoint_layers` object, nullable
  - `visibility` string, nullable
  - `created_by` integer, nullable
  - `created_at` string, nullable
  - `updated_at` string, nullable

## Other responses

- `400`: Bad request syntax or unsupported method

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/5dfd1c296ded?raw)
