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

# Submit a form



## OpenAPI

````yaml post /v1/form-submissions
openapi: 3.1.0
info:
  title: One of None API
  version: 1.0.0
  description: >-
    The One of None API manages product collections, registrations, short URLs,
    team operations, and rewards used by storefront integrations including
    Shopify discounts and redemption flows.
servers:
  - url: https://api.oneofnone.io
security:
  - ApiKeyAuth: []
paths:
  /v1/form-submissions:
    post:
      summary: Submit a form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitFormBody'
      responses:
        '201':
          description: Created submission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormSubmissionResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SubmitFormBody:
      type: object
      properties:
        form_id:
          type: string
          minLength: 1
        data:
          type: object
          additionalProperties: {}
        sender_name:
          type: string
        sender_email:
          anyOf:
            - type: string
              format: email
            - type: string
              enum:
                - ''
        user_id:
          type: string
          format: uuid
        collection_id:
          type: string
          format: uuid
        short_url:
          type: string
          minLength: 1
          maxLength: 64
        integration:
          $ref: '#/components/schemas/FormSubmissionIntegration'
        form_name:
          type: string
          maxLength: 500
        email_custom_message:
          type: string
          maxLength: 10000
        email_custom_subject:
          type: string
          maxLength: 500
        send_confirmation_email:
          type: boolean
      required:
        - form_id
        - data
      additionalProperties: false
    FormSubmissionResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        form_id:
          type: string
        data:
          type: object
          additionalProperties: {}
        user_id:
          type:
            - string
            - 'null'
        collection_id:
          type:
            - string
            - 'null'
        short_url:
          type:
            - string
            - 'null'
        sender_name:
          type:
            - string
            - 'null'
        sender_email:
          type:
            - string
            - 'null'
        created_at:
          type: string
        short_url_update:
          $ref: '#/components/schemas/FormSubmissionShortUrlUpdate'
      required:
        - id
        - form_id
        - data
        - created_at
    FormSubmissionIntegration:
      type: object
      properties:
        integrationId:
          type: string
        integrationType:
          type: string
        enabled:
          type: boolean
          default: false
        fieldMappings:
          type: array
          items:
            type: object
            properties:
              formFieldId:
                type: string
              integrationField:
                type: string
            required:
              - formFieldId
              - integrationField
          default: []
    FormSubmissionShortUrlUpdate:
      type: object
      properties:
        short_url:
          type: string
        layout_id:
          type:
            - string
            - 'null'
        destination_url:
          type:
            - string
            - 'null'
      required:
        - short_url
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````