---
title: "Create a skill from a template"
method: POST
path: "/skills/from-template"
tags: ["Skills"]
---

# Create a skill from a template

`POST /skills/from-template`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/skills/from-template`
- Auth: HTTP bearer

Instantiate a skill from a template. Forwards to voice's
``POST /from-template/{template_id}`` with the caller's org_id pinned.

Post-creation we re-fetch the new action and 404 if the resulting
runtime_type is not a skill — guards against templates of workflow
or script runtime sneaking into the skill surface.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- object: ``{template_id: str, name: str, overrides?: dict}``

## Response `201`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
