# AssessmentApi

## GET /api/v1/AssessmentApi/GetTestAttempts

> Gets a list of test attempts for the given section enrollment and assignment.> \
> Results are ordered by attempt index from highest (most recent attempt) to lowest (least recent attempt).> \
> Requires at least one of the following:> \
> User has View Section Enrollments permission in enrollment organization or an ancestor> \
> OR> \
> User has Update Section Enrollments permission in enrollment organization or an ancestor> \
> OR> \
> User is an instructor for the section that the assignment is in.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetTestAttempts":{"get":{"tags":["AssessmentApi"],"summary":"Gets a list of test attempts for the given section enrollment and assignment.\r\nResults are ordered by attempt index from highest (most recent attempt) to lowest (least recent attempt).\r\nRequires at least one of the following:\r\nUser has View Section Enrollments permission in enrollment organization or an ancestor\r\nOR\r\nUser has Update Section Enrollments permission in enrollment organization or an ancestor\r\nOR\r\nUser is an instructor for the section that the assignment is in.","operationId":"AssessmentApi_GetTestAttempts","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"enrollment_id","in":"query","required":true},{"schema":{"type":"string","format":"uuid"},"name":"assignment_id","in":"query","required":true},{"schema":{"type":"integer","format":"int32"},"name":"page","in":"query","description":"Which page of results to start on","required":false},{"schema":{"type":"integer","format":"int32"},"name":"per_page","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"List of test attempts","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestAttemptResponseItem"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestAttemptResponseItem"}}}}},"403":{"description":"Not authorized to view test attempts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception. See response body for more info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"TestAttemptResponseItem":{"title":"TestAttemptResponseItem","description":"Contains details of a test attempt","default":{"attempt_id":"12345678-1234-5678-9abc-123456789abc","attempt_index":6,"start_date":"2015-12-25T19:25:24.731+00:00","last_time_left_update":"2015-12-25T19:25:24.731+00:00","finish_date":"2015-12-25T19:25:24.731+00:00","allow_relaunch":false,"time_left":"1.02:30:45","num_questions":10,"is_complete":true,"score":90,"comments":"Question 10 was way too difficult","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["attempt_id","attempt_index","allow_relaunch","num_questions","is_complete","api_error_entity"],"type":"object","properties":{"attempt_id":{"format":"uuid","description":"Id of this test attempt","type":"string"},"attempt_index":{"format":"int32","description":"Which attempt number this is. Index is ZERO BASED.","type":"integer"},"start_date":{"format":"date-time","description":"When the student started this attempt (in UTC)","type":"string"},"last_time_left_update":{"format":"date-time","description":"When the TimeLeft field was last modified","type":"string"},"finish_date":{"format":"date-time","description":"When the student completed this attempt (in UTC)","type":"string"},"allow_relaunch":{"description":"Whether or not the student can relaunch the test after exiting without finishing","type":"boolean"},"time_left":{"description":"How much time the student has remaining to complete this attempt","type":"string"},"num_questions":{"format":"int32","description":"The number of questions that this attempt was created with","type":"integer"},"is_complete":{"description":"Has this attempt been submitted?","type":"boolean"},"score":{"format":"double","description":"The score for this attempt or null if is_complete is set to false","type":"number"},"comments":{"description":"Any additional comments from the student for this test attempt.","type":"string"},"proctor_response_item":{"$ref":"#/components/schemas/ProctorResponseItem","description":"Additional infomation about the proctor or null if not proctored"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ProctorResponseItem":{"description":"Contains information related to the proctor for an assignment","required":["proctor_id","proctor_user_id","proctor_code","proctor_first_name","proctor_last_name","organization_access_code_id","access_code","date_proctored","api_error_entity"],"type":"object","properties":{"proctor_id":{"format":"uuid","description":"Id of the Proctor","type":"string"},"proctor_user_id":{"format":"uuid","description":"User Id of the Proctor","type":"string"},"proctor_code":{"description":"Code assigned to the proctor","type":"string"},"proctor_first_name":{"description":"The first name of the proctor","type":"string"},"proctor_last_name":{"description":"The last name of the proctor","type":"string"},"organization_access_code_id":{"format":"uuid","description":"The Id of the Access Code","type":"string"},"access_code":{"description":"The Access Code used","type":"string"},"date_proctored":{"format":"date-time","description":"When the proctor unlocked the assignment (in UTC)","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```

## GET /api/v1/AssessmentApi/GetTestSurveyResults

> Gets a list of student responses for a test or survey assignment. To get results for a test attempt,> \
> use test\_attempt\_id. For a survey, use assignment\_status\_id OR assignment\_id+enrollment\_id.> \
> Results are arranged by answer display order.> \
> Requires the View Users and View Section Enrollments permission in the enrollment org or an ancestor.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetTestSurveyResults":{"get":{"tags":["AssessmentApi"],"summary":"Gets a list of student responses for a test or survey assignment. To get results for a test attempt,\r\nuse test_attempt_id. For a survey, use assignment_status_id OR assignment_id+enrollment_id.\r\nResults are arranged by answer display order.\r\nRequires the View Users and View Section Enrollments permission in the enrollment org or an ancestor.","operationId":"AssessmentApi_GetTestSurveyResults","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"test_attempt_id","in":"query","required":false},{"schema":{"type":"string","format":"uuid"},"name":"assignment_status_id","in":"query","required":false},{"schema":{"type":"string","format":"uuid"},"name":"assignment_id","in":"query","required":false},{"schema":{"type":"string","format":"uuid"},"name":"enrollment_id","in":"query","required":false},{"schema":{"type":"integer","format":"int32"},"name":"page","in":"query","description":"Which page of results to start on","required":false},{"schema":{"type":"integer","format":"int32"},"name":"per_page","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"List of student responses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSurveyResultsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/TestSurveyResultsResponse"}}}},"403":{"description":"Not authorized to view student responses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"TestSurveyResultsResponse":{"title":"TestSurveyResultsResponse","description":"Contains a list of responses for a particular student for a given test/survey assignment","default":{"test_survey_results":[{"option_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"12345678-1234-5678-9abc-123456789abc","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer","chosen_option_ids":["1234abcd-1234-abcd-1234-123456abcdef"]}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["test_survey_results","api_error_entity"],"type":"object","properties":{"test_survey_results":{"description":"Student responses for this assignment and associated information","type":"array","items":{"$ref":"#/components/schemas/TestSurveyResultsResponseItem"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"TestSurveyResultsResponseItem":{"description":"This represents a test/survey question and a student response","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"option_ids":{"description":"List of ids for possible options on this question (if it is not strictly open ended). Match these ids up\r\nwith the option ids from GetQuestionOption to get the option text.","type":"array","items":{"format":"uuid","type":"string"}},"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```

## GET /api/v1/AssessmentApi/GetQuestion

> Gets the text for a test question, as well as the type of question that it is.> \
> Requires the View Users and View Section Enrollments permissions in the org or ancestor in which> \
> the question bank containing the question exists, or, if enrollment\_id is passed in,> \
> it requires the aforementioned permissions in the enrollment organization.> \
> The question must exist in a question bank that a test in the enrollment section utilizes.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetQuestion":{"get":{"tags":["AssessmentApi"],"summary":"Gets the text for a test question, as well as the type of question that it is.\r\nRequires the View Users and View Section Enrollments permissions in the org or ancestor in which\r\nthe question bank containing the question exists, or, if enrollment_id is passed in,\r\nit requires the aforementioned permissions in the enrollment organization.\r\nThe question must exist in a question bank that a test in the enrollment section utilizes.","operationId":"AssessmentApi_GetQuestion","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"question_id","in":"query","required":true},{"schema":{"type":"string","format":"uuid"},"name":"enrollment_id","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"Question text and type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/QuestionResponse"}}}},"403":{"description":"Not authorized to view test/survey questions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception. See response body for more info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"QuestionResponse":{"title":"QuestionResponse","description":"Contains text for a question and what type of question it is","default":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_type","api_error_entity"],"type":"object","properties":{"open_ended_question_text":{"description":"The text for the open ended question (if applicable)","type":"string"},"question_text":{"description":"The text for the question (if it is not strictly open ended)","type":"string"},"question_type":{"format":"int32","description":"What type of question this is.\r\nSingleSelect=1;\r\nMultiSelect=2;\r\nFivePointScale=3;1 = SingleSelect, 2 = MultiSelect, 3 = FivePointScale","enum":[1,2,3],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```

## GET /api/v1/AssessmentApi/GetQuestionOption

> Get text for a particular test or survey question option, as well as whether it is correct or not.> \
> Requires the View Users and View Section Enrollments permissions in the org or ancestor in which> \
> the question bank containing the question and option exists, or, if enrollment\_id is passed in,> \
> it requires the aforementioned permissions in the enrollment organization.> \
> The question option must exist in a question bank that a test in the enrollment section utilizes.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetQuestionOption":{"get":{"tags":["AssessmentApi"],"summary":"Get text for a particular test or survey question option, as well as whether it is correct or not.\r\nRequires the View Users and View Section Enrollments permissions in the org or ancestor in which\r\nthe question bank containing the question and option exists, or, if enrollment_id is passed in,\r\nit requires the aforementioned permissions in the enrollment organization.\r\nThe question option must exist in a question bank that a test in the enrollment section utilizes.","operationId":"AssessmentApi_GetQuestionOption","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"question_option_id","in":"query","required":true},{"schema":{"type":"string","format":"uuid"},"name":"enrollment_id","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"Question option text and if it is correct","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionOptionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/QuestionOptionResponse"}}}},"403":{"description":"Not authorized to view question options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception. See response body for more info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"QuestionOptionResponse":{"title":"QuestionOptionResponse","description":"Contains the text for a given test or survey question option and if it is correct","default":{"option_text":"Sample question option","is_correct":true,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["option_text","is_correct","api_error_entity"],"type":"object","properties":{"option_text":{"description":"Test/survey question option text","type":"string"},"is_correct":{"description":"Whether or not this option has been marked as a correct answer","type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```

## GET /api/v1/AssessmentApi/GetQuestionIds

> Get ids for all test questions tied to a given test or survey assignment.> \
> Requires the View Users and View Section Enrollments permissions in the organization (or ancestor)> \
> that the assignment exists in.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetQuestionIds":{"get":{"tags":["AssessmentApi"],"summary":"Get ids for all test questions tied to a given test or survey assignment.\r\nRequires the View Users and View Section Enrollments permissions in the organization (or ancestor)\r\nthat the assignment exists in.","operationId":"AssessmentApi_GetQuestionIds","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"assignment_id","in":"query","required":true},{"schema":{"type":"integer","format":"int32"},"name":"page","in":"query","description":"Which page of results to start on","required":false},{"schema":{"type":"integer","format":"int32"},"name":"per_page","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"List of question ids","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionIdsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/QuestionIdsResponse"}}}},"403":{"description":"Not authorized to view question ids","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception. See response body for more info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"QuestionIdsResponse":{"title":"QuestionIdsResponse","description":"Contains ids for all the questions tied to a particular test or survey assignment","default":{"question_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"question_ids":{"description":"List of question ids","type":"array","items":{"format":"uuid","type":"string"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```

## GET /api/v1/AssessmentApi/GetStudentResponses

> Get question text and all responses for that question, as well as the date that the answer was created> \
> (which is based off the test attempt start date for that question or the assignment status creation date if> \
> the test attempt start date is null for whatever reason).> \
> Results are ordered by answer creation date.> \
> Requires the View Users and View Section Enrollments permissions in the organization (or ancestor) that the> \
> question bank containing the question exists in.

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"servers":[{"url":"https://www.nexportcampus.com"}],"paths":{"/api/v1/AssessmentApi/GetStudentResponses":{"get":{"tags":["AssessmentApi"],"summary":"Get question text and all responses for that question, as well as the date that the answer was created\r\n(which is based off the test attempt start date for that question or the assignment status creation date if\r\nthe test attempt start date is null for whatever reason).\r\nResults are ordered by answer creation date.\r\nRequires the View Users and View Section Enrollments permissions in the organization (or ancestor) that the\r\nquestion bank containing the question exists in.","operationId":"AssessmentApi_GetStudentResponses","parameters":[{"schema":{"type":"string","format":"uuid"},"name":"question_id","in":"query","required":true},{"schema":{"type":"string","format":"date-time"},"name":"utc_start_date","in":"query","required":false},{"schema":{"type":"string","format":"date-time"},"name":"utc_finish_date","in":"query","required":false},{"schema":{"type":"integer","format":"int32"},"name":"page","in":"query","description":"Which page of results to start on","required":false},{"schema":{"type":"integer","format":"int32"},"name":"per_page","in":"query","required":false},{"schema":{"type":"string"},"name":"access_token","in":"query","description":"Use the AdminApi Authenticate method to get the access_token","required":true}],"responses":{"200":{"description":"Question text and list of student responses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentResponses"}},"text/json":{"schema":{"$ref":"#/components/schemas/StudentResponses"}}}},"403":{"description":"Not authorized to view student responses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"409":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}},"422":{"description":"Validation exception","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}},"text/json":{"schema":{"$ref":"#/components/schemas/ApiResponseBase"}}}}}}}},"components":{"schemas":{"StudentResponses":{"title":"StudentResponses","description":"Contains the question text and all the responses for a particular test/survey question","default":{"question_response":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"option_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"student_response_list":[{"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"12345678-1234-5678-9abc-123456789abc","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer","chosen_option_ids":["1234abcd-1234-abcd-1234-123456abcdef"]},{"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"1234abcd-1234-abcd-1234-123456abcdef","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer 2","chosen_option_ids":["12345678-1234-5678-9abc-123456789abc"]}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_response","api_error_entity"],"type":"object","properties":{"question_response":{"$ref":"#/components/schemas/QuestionResponse","description":"Basic information about the question"},"option_ids":{"description":"List of ids for possible options on this question (if it is not strictly open ended). Match these ids up\r\nwith the option ids from GetQuestionOption to get the option text.","type":"array","items":{"format":"uuid","type":"string"}},"student_response_list":{"description":"List of student responses for this question (if any)","type":"array","items":{"$ref":"#/components/schemas/StudentResponseItem"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"QuestionResponse":{"title":"QuestionResponse","description":"Contains text for a question and what type of question it is","default":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_type","api_error_entity"],"type":"object","properties":{"open_ended_question_text":{"description":"The text for the open ended question (if applicable)","type":"string"},"question_text":{"description":"The text for the question (if it is not strictly open ended)","type":"string"},"question_type":{"format":"int32","description":"What type of question this is.\r\nSingleSelect=1;\r\nMultiSelect=2;\r\nFivePointScale=3;1 = SingleSelect, 2 = MultiSelect, 3 = FivePointScale","enum":[1,2,3],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"StudentResponseItem":{"description":"This represents a test/survey question and a student response.","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}},"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}}}}}
```
