---
title: "Submit user course item"
method: POST
path: "/public/submit-user-course-item"
tags: ["Course"]
---

# Submit user course item

`POST /public/submit-user-course-item`

Submit a course item for a given user

Authentication with the "FERMION-API-KEY" header is required to use this endpoint.

Rate limit: Maximum 60 requests in a window of 1m.

## Request body

- object
  - `data` object[], required
    - `data` object, required
      - `courseItemId` string, required — ID of the course item.
      - `userId` string — Internal userId you have been using for the user in your database
      - `userEmail` string, email — Email of the user
      - `shouldMarkAsCompleted` boolean, nullable — Whether to mark the course item as completed after submission
      - `details` object, required — Details specific to the course item submission
        - `courseItemType` 'Quiz', required — Type of course item being submitted, currently only Quiz is supported
        - `questionsToUpsert` object[], required — List of questions with their selected answers to update
          - `questionUniqueId` string, required — Unique identifier for the question
          - `newSelectedOptionIds` string[], required — Array of selected option IDs for this question

## Response `200`

API Response Body

- object[]
  - `output` union, required
    - object
      - `status` 'ok', required
      - `data` object, required
    - object
      - `status` 'error', required
      - `errorMessage` string, required

---

[API](https://skmtc.net/fermion/apis/fermion-backend-api.md) · [All operations](https://skmtc.net/fermion/apis/fermion-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fermion/fermion-backend-api/revisions/7ce364c8820b/schema)
