---
title: "Create Seed Skill Tiptap Document"
method: POST
path: "/api/py/sandbox/seeding/create-skill-tiptap"
---

# Create Seed Skill Tiptap Document

`POST /api/py/sandbox/seeding/create-skill-tiptap`

Create the Tiptap document for a seeded starter skill.

Skill documents live at the ``skill:{skill_id}`` document name (the
convention of features/skills/tiptap/resource.ts ``tiptapDocumentName``),
unlike sandbox seed files, whose documents live at the bare file id.
Seed skill ids are deterministic (UUIDv5 over ``org:user:name``), so the
document name is required to derive from the caller's authenticated
organization — a service-key holder cannot materialize documents outside
its own org. Creation never overwrites existing content: an existing
document returns ``created: false`` with ``already_exists``; other Tiptap
failures return 502.

## Request body

- CreateSkillTiptapBody
  - `skill_id` string, uuid, required
  - `user_id` string, required
  - `skill_name` string, required
  - `content` object, required

## Response `200`

Successful Response

- CreateSkillTiptapResponse
  - `created` boolean, required
  - `skipped_reason` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/getauctor/apis/fastapi.md) · [All operations](https://skmtc.dev/getauctor/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getauctor/fastapi/revisions/aeb6faa3b8f0/schema)
