> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paubox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Copy a form

> Creates a copy of an existing form with a new title. The copy starts with a submission count of 0 and no vanity URL. Returns the full new form object.




## OpenAPI

````yaml openapi-forms POST /api/forms/copy
openapi: 3.0.0
info:
  title: Paubox Forms API
  description: >
    The Paubox Forms API has two kinds of endpoints. Public, respondent-facing
    endpoints (retrieving a form definition for rendering and submitting a form
    response) require no authentication. Authenticated management endpoints
    (creating, listing, updating, copying, archiving forms, and reading or
    exporting submissions) require a Paubox API key with the "forms" scope, sent
    as `Authorization: Bearer YOUR_API_KEY`. API keys are generated in the
    Paubox dashboard.
  version: 1.0.0
servers:
  - url: https://api.paubox.com/v1/forms
    description: Paubox Forms API
security: []
tags:
  - name: Forms
    description: Retrieve form definitions and accept submissions
  - name: Form management
    description: Create, list, update, copy, and archive forms (requires API key)
  - name: Submissions
    description: List and export form submissions (requires API key)
paths:
  /api/forms/copy:
    post:
      tags:
        - Form management
      summary: Copy a form
      description: >
        Creates a copy of an existing form with a new title. The copy starts
        with a submission count of 0 and no vanity URL. Returns the full new
        form object.
      operationId: copyForm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyFormRequest'
            examples:
              example:
                summary: Copy a form
                value:
                  form_id: 550e8400-e29b-41d4-a716-446655440000
                  title: Patient Intake Form (Copy)
      responses:
        '200':
          description: The newly created form
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Form'
              examples:
                example:
                  summary: Example response
                  value:
                    id: 9f8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
                    title: Patient Intake Form (Copy)
                    description: Please complete before your appointment.
                    form_html: <form>...</form>
                    form_json: {}
                    form_css: 'form { font-family: sans-serif; }'
                    vanity_url: null
                    version: 2
                    active: false
                    customer_id: 123
                    old_form_id: null
                    recipient: intake@example.com
                    signable: false
                    signature_confirmation_label: null
                    submission_count: 0
                    type: null
                    subscription_list_id: null
                    deleted: false
                    archived: false
                    created_at: '2024-06-10T12:00:00Z'
                    updated_at: '2024-06-10T12:00:00Z'
        '401':
          description: Missing or invalid API key, or the key lacks the "forms" scope
        '403':
          description: The form belongs to a different customer
        '404':
          description: Source form not found
      security:
        - bearerAuth: []
components:
  schemas:
    CopyFormRequest:
      type: object
      required:
        - form_id
        - title
      properties:
        form_id:
          type: string
          format: uuid
          description: UUID of the form to copy
        title:
          type: string
          description: Title for the copy
    Form:
      type: object
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
        description:
          type: string
          nullable: true
        form_html:
          type: string
          nullable: true
        form_json:
          type: object
          nullable: true
        form_css:
          type: string
          nullable: true
        vanity_url:
          type: string
          nullable: true
        version:
          type: integer
        active:
          type: boolean
        customer_id:
          type: integer
        old_form_id:
          type: integer
          nullable: true
        recipient:
          type: string
          nullable: true
          description: |
            Comma-separated email addresses notified on each submission.
        signable:
          type: boolean
        signature_confirmation_label:
          type: string
          nullable: true
        submission_count:
          type: integer
        type:
          type: string
          nullable: true
        subscription_list_id:
          type: string
          nullable: true
          description: >
            ID of the connected Marketing contact list. For marketing forms, new
            subscribers are added to this list.
        deleted:
          type: boolean
        archived:
          type: boolean
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Paubox API key sent as `Authorization: Bearer YOUR_API_KEY`. API keys
        are created in the Paubox dashboard and must have the "forms" scope; a
        key without the forms scope receives 401 Unauthorized. A valid key used
        against a resource that belongs to a different customer receives 403
        Forbidden.

````