Skip to main content
POST
/
api
/
open
/
forms
/
{form}
/
duplicate
Duplicate Form
curl --request POST \
  --url https://api.example.com/api/open/forms/{form}/duplicate
{
  "message": "<string>",
  "new_form": {
    "id": 123,
    "slug": "<string>",
    "title": "<string>",
    "properties": [
      {}
    ],
    "removed_properties": [
      {}
    ]
  }
}
Creates a complete duplicate of a form including all fields, settings, and customization. The duplicated form will have a new slug and be prefixed with “Copy of” in the title.

Path Parameters

form
string
required
Form ID or slug to duplicate

Response

Returns the newly created form copy.
message
string
Success message
new_form
object
The duplicated form object with all properties
id
integer
New form ID
slug
string
New unique slug (either UUID or slug-based)
title
string
Form title prefixed with “Copy of”
properties
array
All form fields from the original form
removed_properties
array
Empty array (reset for the new form)
All other fields are copied from the original form including:
  • Customization settings (theme, colors, layout)
  • Submission settings
  • Security settings
  • SEO metadata

Example Request

curl -X POST "https://api.opnform.com/api/open/forms/contact-form-abc123/duplicate" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Example Response

{
  "message": "Form successfully duplicated. You are now editing the duplicated version of the form.",
  "new_form": {
    "id": 2,
    "workspace_id": 1,
    "slug": "550e8400-e29b-41d4-a716-446655440000",
    "title": "Copy of Contact Form",
    "description": "Get in touch with us",
    "visibility": "public",
    "properties": [
      {
        "id": "name",
        "name": "Name",
        "type": "text",
        "required": true
      },
      {
        "id": "email",
        "name": "Email",
        "type": "email",
        "required": true
      }
    ],
    "removed_properties": [],
    "theme": "default",
    "dark_mode": "auto",
    "color": "#3B82F6",
    "size": "md",
    "submitted_text": "Thank you for your message!",
    "share_url": "https://opnform.com/forms/550e8400-e29b-41d4-a716-446655440000",
    "created_at": "2024-01-22T10:15:00Z",
    "updated_at": "2024-01-22T10:15:00Z"
  }
}

Notes

  • The duplicate will have a new unique slug (UUID or generated from title)
  • The title will be prefixed with “Copy of ”
  • The removed_properties array is reset to empty for the new form
  • Submissions and statistics are NOT copied - the new form starts fresh
  • All customization, field configurations, and settings are preserved
  • You must have update permissions on the original form to duplicate it

Build docs developers (and LLMs) love