> ## 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.

# Create a form

> Creates a new form. Returns the UUID of the created form.




## OpenAPI

````yaml openapi-forms POST /api/forms
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:
    post:
      tags:
        - Form management
      summary: Create a form
      description: |
        Creates a new form. Returns the UUID of the created form.
      operationId: createForm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFormRequest'
            examples:
              basic:
                summary: Minimal form
                value:
                  title: Patient Intake Form
                  form_json:
                    fields:
                      - label: First name
                        type: text
                        required: true
                  customer_id: 123
                  version: 1
              full:
                summary: Marketing form with notifications
                value:
                  title: Newsletter Signup
                  description: Sign up for our monthly newsletter.
                  form_json:
                    fields:
                      - label: Email
                        type: email
                        required: true
                  form_html: <form>...</form>
                  form_css: 'form { font-family: sans-serif; }'
                  customer_id: 123
                  version: 1
                  recipient: marketing@example.com
                  subscription_list_id: b3f9c2d1-4a5e-4f6b-8c7d-9e0f1a2b3c4d
                  type: marketing_form
                  active: true
      responses:
        '200':
          description: Form created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: UUID of the new form
              examples:
                example:
                  summary: Example response
                  value:
                    id: 7c9e6679-7425-40de-944b-e07fc1f90ae7
        '401':
          description: Missing or invalid API key, or the key lacks the "forms" scope
        '403':
          description: The API key does not have access to the requested customer
      security:
        - bearerAuth: []
components:
  schemas:
    CreateFormRequest:
      type: object
      required:
        - title
        - form_json
        - customer_id
        - version
      properties:
        title:
          type: string
          description: Title of the form
        form_json:
          type: object
          description: The form field schema
        customer_id:
          type: integer
          description: Your Paubox customer ID
        version:
          type: integer
          description: Form schema version
        description:
          type: string
        form_html:
          type: string
        form_css:
          type: string
        recipient:
          type: string
          description: |
            Comma-separated email addresses notified on each submission.
        signable:
          type: boolean
          default: false
          description: Whether the form collects a signature
        signature_confirmation_label:
          type: string
        subscription_list_id:
          type: string
          description: >
            ID of the connected Marketing contact list. For marketing forms, new
            subscribers are added to this list.
        type:
          type: string
          description: Form type, for example `marketing_form`
        active:
          type: boolean
          default: false
        submission_count:
          type: integer
          default: 0
  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.

````