---
title: "Fork a form's node-shape"
method: POST
path: "/forms/skeleton"
tags: ["Forms"]
---

# Fork a form's node-shape

`POST /forms/skeleton`

## Request

- Base URL: `https://api.clipform.io/v1`
- URL: `https://api.clipform.io/v1/forms/skeleton`
- Auth: HTTP bearer

Forks a published form's node types and order into a blank draft, dropping all of its content.

## Request body

- object
  - `source_share_id` string, required: share_id of the published source form to fork the shape of.
  - `workspace_id` string, uuid, required: Target workspace for the new draft. Obtain from GET /v1/me.

## Response `201`

Draft created

- object
  - `form_id` string, uuid
  - `share_id` string
  - `message` string: Present only when the source form's node count exceeded the caller's plan limit and was trimmed.

## Other responses

- `400`: Invalid request body, or the source form has no forkable nodes
- `401`: Missing or invalid credentials
- `403`: workspace_id does not match the caller's credential, or the workspace is at its plan's form limit
- `404`: The source form does not exist or is not published
- `429`: Rate limit exceeded.

---

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