---
title: "Submit assessment course lesson"
method: POST
path: "/course_lessons/{lesson_id}/submit_assessment"
tags: ["Course lessons"]
---

# Submit assessment course lesson

`POST /course_lessons/{lesson_id}/submit_assessment`

Submit answers for a quiz or knowledge check lesson and receive a graded result.

## Path parameters

- `lesson_id` string, required

## Request body

- object — Parameters for SubmitAssessment
  - `answers` object[], required — The list of answers to submit for each assessment question.
    - `answer_text` string, nullable — The text answer provided by the user (for short answer questions)
    - `question_id` string, required — The ID of the question being answered
    - `selected_option_ids` string[], nullable — The IDs of the selected options (for multiple choice/select questions)

## Response `200`

A successful response

- object — The result of a user's assessment attempt
  - `created_at` string, date-time, required — The datetime the assessment result was created.
  - `id` string, required — The unique identifier for the assessment result.
  - `lesson` object, required — The lesson this assessment result is for
    - `id` string, required — The unique identifier for the lesson.
    - `title` string, required — The display name of the lesson shown to students. Maximum 120 characters.
  - `result_correct` integer, required — The number of correct answers
  - `result_grade` number, required — The grade achieved on the assessment
  - `result_graded_questions` object, required — Array of graded questions with details
  - `result_passing_grade` boolean, required — Whether the user achieved a passing grade
  - `result_question_count` integer, required — The total number of questions in the assessment
  - `score_percent` number, required — The percentage score achieved on the assessment
  - `updated_at` string, date-time, required — The datetime the assessment result was last updated.
  - `user` object, required — The user who took the assessment
    - `id` string, required — The unique identifier for the user.
    - `name` string, nullable, required — The user's display name shown on their public profile.
    - `username` string, required — The user's unique username shown on their public profile.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Verification required
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/db0883548bc5/schema)
