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

# Create Form

> Create Form.



## OpenAPI

````yaml POST /forms/create
openapi: 3.1.0
info:
  title: Blog API
  version: 1.0.0
servers:
  - url: https://api.octaviatech.app/cms
    description: Production
security:
  - ApiKeyAuth: []
tags: []
paths:
  /forms/create:
    post:
      tags:
        - Forms
      summary: Create form
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - title
                - slug
                - sections
              properties:
                title:
                  type: object
                  description: Multilingual title (Map-like)
                  additionalProperties:
                    type: string
                slug:
                  type: string
                  description: URL-friendly unique identifier (unique per tenant)
                description:
                  type: object
                  description: Multilingual description
                  additionalProperties:
                    type: string
                submitButtonText:
                  type: object
                  description: Multilingual submit button text
                  additionalProperties:
                    type: string
                sections:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - title
                      - fields
                    properties:
                      title:
                        type: object
                        additionalProperties:
                          type: string
                      icon:
                        type: string
                      description:
                        type: object
                        additionalProperties:
                          type: string
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - name
                            - type
                            - label
                            - required
                          properties:
                            name:
                              type: string
                            type:
                              type: string
                              description: See FieldType enum
                            label:
                              type: object
                              additionalProperties:
                                type: string
                            required:
                              type: boolean
                            options:
                              type: array
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - value
                                  - label
                                properties:
                                  value:
                                    type: string
                                  label:
                                    type: object
                                    additionalProperties:
                                      type: string
                            colSpan:
                              type: number
                            icon:
                              type: string
                            disabled:
                              type: boolean
                            verified:
                              type: boolean
                            defaultValue: {}
                            placeholder:
                              type: object
                              additionalProperties:
                                type: string
                isActive:
                  type: boolean
                  description: Whether the form is enabled (default true)
            examples:
              Create Form:
                value:
                  title:
                    en: Contact Us
                    es: Contáctanos
                  slug: contact-us
                  description:
                    en: Public contact form
                    es: Formulario público
                  submitButtonText:
                    en: Send
                    es: Enviar
                  sections:
                    - title:
                        en: Basic info
                        es: Datos básicos
                      fields:
                        - name: fullName
                          type: text
                          label:
                            en: Full Name
                            es: Nombre completo
                          required: true
                        - name: email
                          type: email
                          label:
                            en: Email
                            es: Correo
                          required: true
                        - name: message
                          type: textarea
                          label:
                            en: Message
                            es: Mensaje
                          required: true
                  isActive: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              example:
                success: true
                statusCode: 201
                message: Created
                data:
                  id: '{{objectId}}'
                  slug: contact-us
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict (slug exists for tenant)
          content:
            application/json:
              example:
                success: false
                statusCode: 409
                message: Slug already exists
                data: null
        '422':
          description: Validation error
        '500':
          description: Server error
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````