---
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`

## Request

- Base URL: `https://api.getauctor.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getauctor.com/api/py/sandbox/seeding/create-skill-tiptap`
- Auth: none declared

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

## Changes

- **2026-09-01** `aeb6faa3b8f0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getauctor/apis/getauctor-api/changes/api/py/sandbox/seeding/create-skill-tiptap/post.md)

---

[API](https://skmtc.dev/getauctor/apis/getauctor-api.md) - [All operations](https://skmtc.dev/getauctor/apis/getauctor-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getauctor/apis/getauctor-api/revisions/be39c59c13f6?raw)
