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

# Submit a new submission

> Submit an array of work experiences using a submission token



## OpenAPI

````yaml POST /submissions/{token}
openapi: 3.0.3
info:
  title: UAG Work-Based Learning API
  description: >-
    API for managing work-based learning submissions, authentication, and
    verification
  version: 1.0.0
servers:
  - url: https://wbl.monolisk.dev
    description: Production server
  - url: http://localhost:8787
    description: Development server
security: []
tags:
  - name: Authentication
    description: Authentication and user information endpoints
  - name: Submissions
    description: Work experience submission management
  - name: Verification
    description: Supervisor verification task management
paths:
  /submissions/{token}:
    post:
      tags:
        - Submissions
      summary: Submit work experiences
      description: Submit an array of work experiences using a submission token
      parameters:
        - name: token
          in: path
          required: true
          schema:
            type: string
          description: Submission token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: array
                  items:
                    $ref: '#/components/schemas/SerializedWorkExperience'
              required:
                - payload
      responses:
        '201':
          description: Submissions created successfully
        '400':
          description: Missing payload, too many experiences, or invalid payload
        '409':
          description: User already made a submission for this week
components:
  schemas:
    SerializedWorkExperience:
      type: object
      properties:
        kind:
          type: string
          description: Type of work experience
        hours:
          type: integer
          nullable: true
          description: Number of hours worked
        supervisor:
          type: string
          nullable: true
          format: email
          description: Supervisor email address
        dateRange:
          type: object
          nullable: true
          properties:
            start:
              type: string
              format: date
              description: Start date
            end:
              type: string
              format: date
              description: End date
          required:
            - start
            - end
        date:
          type: string
          nullable: true
          format: date
          description: Single date for the experience
        shortResponse:
          type: string
          nullable: true
          description: Brief description of the experience
        longResponse:
          type: string
          nullable: true
          description: Detailed description of the experience
        wasInSchool:
          type: boolean
          nullable: true
          description: Whether the experience was during school time
      required:
        - kind

````