This document provides a comprehensive list of ProctorU API error messages, their causes, and solutions for troubleshooting.
Authentication & Authorization Errors
stale request
Cause: The stale request error is raised when the current time sent with a request is over two minutes past the current time.
Solution: Update 'time sent' to the current time to fix this error.
Invalid School (Inputted API Token)
Cause: Invalid School error is raised when an API token is blank or invalid.
Solution: Go to your institution on the ProctorU website, select settings, then click the 'API' tab to obtain the correct API token.
You are not authorized to edit that term
Cause: The TermNotAuthorizedError is raised when an institution is not authorized to modify a term.
Solution: Ensure that the correct Authorization token and term id are used.
You are not authorized to edit that exam
Cause: ExamNotAuthorizedError is raised when an institution is not authorized to modify an exam.
Solution: Ensure that the correct Authorization token and exam id are used.
You are not authorized to edit that session
Cause: The FulfillmentNotAuthorizedError is raised when an institution is not authorized to modify a fulfillment result.
Solution: Verify authorization permissions for the session.
URL & Request Errors
(URL) is not a valid url, make sure to include the protocol (http:// or https://)
Cause: Invalid URL error is raised when an exam URL does not have http or https.
Solution: Ensure the URL includes the proper protocol (http:// or https://).
The requested resource does not support http method \GET\.
Cause: The GetNotSupportedError is raised when an HTTP GET request is made to a route that does not support GET.
Solution: Check the ProctorU documentation to find the correct HTTP method for the endpoint.
Rate Limit has been exceeded
Cause: This error is raised when the rate limit has been exceeded (current rate limit is set to 50).
Solution: API calls will be locked for the next minute after reaching the rate limit. Wait and retry.
Term Management Errors
Couldn't find Term with id=(inputted Term Id)
Cause: The TermNotFoundError is raised when the inputted term is not found.
Solution: Ensure that the correct Authorization token and term id are used.
Term Not found
Cause: The TermIdsMissingError is raised when valid term ids are not sent in the request.
Solution: Double check the term_id sent with the call matches with the requested term in 'getInstitutionTermList'.
Exam Management Errors
Exam Not found
Cause: The ExamNotFoundError is raised when the exam_id parameter does not correspond to a valid exam.
Solution: Double check the exam you are trying to call has the same exam_id as the one you entered.
Password is missing
Cause: The MissingPasswordError is raised when an exam password is not included in the request.
Solution: Include the required password parameter in your request.
the exam has multiple timeframes, cannot update via the api
Cause: The MultipleWindowError is raised when an exam has multiple windows and can not be updated via the API.
Solution: If this error occurs, the exam must be updated via ProctorU's website at go.proctoru.com.
exam_id already exists
Cause: The DuplicateExamIdError is raised in EditTermExam when an exam id already exists.
Solution: Use a unique exam_id or update the existing exam instead.
Date & Time Errors
end_date Required
Cause: The EndDateMissingError is raised when the end date parameter is not provided.
Solution: Include the end_date parameter in your request.
start_date Required
Cause: The StartDateMissingError raised when the start date parameter is not provided.
Solution: Include the start_date parameter in your request.
Invalid start_date
Cause: The InvalidStartDateError is raised when the start_date parameter is invalid (not in ISO 8601 date and time format).
Solution: Format the start_date in ISO 8601 format.
Invalid active_date
Cause: The InvalidActiveDateError is raised when the active date is not in ISO 8601 date and time format.
Solution: Format the active_date in ISO 8601 format.
Invalid end_date
Cause: The InvalidEndDateError is raised when the end date is invalid (not in correct ISO 8601 date and time format).
Solution: Format the end_date in ISO 8601 format.
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
Cause: The SqlDateTimeOverflowError is raised when a datetime string is not a valid date.
Solution: Ensure the date falls within the valid SQL DateTime range.
end_date before active_date
Cause: The EndDateBeforeActiveDateError is raised when the end date parameter sent is before the active date parameter sent.
Solution: Ensure the end_date is after the active_date.
start_date_IN_THE_PAST
Cause: The StartDateInPastError is raised when the start date parameter is in the past.
Solution: Update the start time parameter to a time in the future.
INVALID_start_date
Cause: The StartDateNotInSlotError is raised when the start date parameter is not in an available schedule slot.
Solution: Call the 'getScheduleInfoAvailableTimesList' endpoint and select one of the presented times.
start_date_DID_NOT_CHANGE
Cause: The StartDateDidNotChangeError is raised when attempting to move a reservation with the same time as the original slot.
Solution: Select a different start time when moving a reservation.
Student Management Errors
Student Not found
Cause: The StudentNotFoundError is raised when the student_id parameter does not correspond to a valid student.
Solution: Double check the student id by going to their account on the ProctorU website, selecting 'Settings', then clicking 'API' to view the student id.
user_id Unavailable
Cause: The UserExistsError is raised when a request to add a student has a username that already exists.
Solution: Use a different username or update the existing user.
User has not Agreed to the Terms of Service
Cause: The TermsNotAcceptedError is raised when the student has not agreed to the ProctorU terms of Service.
Solution: Wait for the student to agree to the terms of service or call the 'agreeToTOS' endpoint for testing purposes.
The User does not have a complete profile
Cause: The IncompleteProfileError is raised when the student has not completed all required account fields.
Solution: Ensure the student completes all required profile fields.
student_id must not be empty
Cause: The StudentIdEmptyError is raised when the student_id parameter is empty.
Solution: Provide a valid student_id parameter.
Session & Fulfillment Errors
Session Not found
Cause: The FulfillmentNotFoundError is raised when the session_id parameter does not correspond to a valid fulfillment.
Solution: Check to make sure the session id is correct for the fulfillment you are trying to edit.
This fulfillment has been cancelled or rescheduled
Cause: The FulfillmentInvalidError is raised when a user wants to create a fulfillment_result but the fulfillment's status is either cancelled or rescheduled.
Solution: Verify the fulfillment status before attempting to create results.
Score was invalid.
Cause: The FulfillmentScoreInvalidError is raised when the score is not an integer.
Solution: Ensure the score parameter is a valid integer.
Reservation Management Errors
reservation_no/reservation_id Required
Cause: The ReservationParamRequiredError is raised when a request requires either a reservation_no or reservation_id parameter but it is not included.
Solution: Include either reservation_no or reservation_id parameter in the request.
That reservation was taken
Cause: The ReservationTakeError is raised when a reservation has been taken prior to a user requesting it.
Solution: Select a different available reservation time.
There is a reservation already scheduled for that time.
Cause: The ReservationAlreadyScheduledError is raised when a reservation is scheduled on top of another reservation.
Solution: Change the start date parameter to an available time slot.
Reservation Not found
Cause: The ReservationNotFoundError is raised when the reservation parameter is included, but not found.
Solution: Verify the reservation exists and the correct reservation identifier is used.
Reservation not for this student
Cause: The ReservationNotForStudentError is raised when a reservation parameter is provided but belongs to another student.
Solution: Ensure the reservation belongs to the correct student.
Reservation Cancelled.
Cause: The ReservationCancelledError is raised when a reservation can not be modified because it has been cancelled.
Solution: Create a new reservation instead of modifying the cancelled one.
RESERVATION_IN_THE_PAST
Cause: The RemoveReservationPastError is raised when a request is attempting to cancel a reservation that was in the past.
Solution: Past reservations cannot be cancelled.
Reservation is in the future
Cause: The ReservationInFutureError is raised when a request is attempting to get restricted data from a reservation that is in the future.
Solution: Wait until the reservation time has passed to access this data.
Reservation has not been paid for
Cause: The ReservationUnpaidError is raised when a fulfillment has not been created for a reservation (the student has not paid for their exam).
Solution: Ensure the student has paid for and scheduled their exam.
Reservation has expired
Cause: The ReservationExpiredError is raised when a Reservation has expired (e.g., if the user does not show up for their exam).
Solution: Schedule a new reservation.
Reservation is complete
Cause: The ReservationCompletedError is raised when a Reservation has been fulfilled.
Solution: Completed reservations cannot be modified.
The reservation has been started.
Cause: The ReservationFlagsError is raised when three or more flight path procedures have been checked by a proctor, indicating the reservation has been started.
Solution: Reservations that have started cannot be modified.
This reservation has been escalated, please call 855-772-8678 to update.
Cause: The ReservationEscalatedError is raised when attempting to modify a reservation that has been escalated by a proctor.
Solution: Call 855-772-8678 to update escalated reservations.
OVERLAP
Cause: The ReservationOverlapError is raised when an existing reservation is being edited to overlap with the current start time of another reservation for the same user.
Solution: Select a time that doesn't conflict with existing reservations.
Duration & Attempt Errors
The duration property is required.
Cause: The DurationFieldMissingError is raised when the duration property is empty.
Solution: Include a valid duration value in your request.
There is no row at position 0.
Cause: The DurationNegativeError is raised when the provided duration for an exam is negative.
Solution: Provide a positive duration value.
The value (inputted duration value) is not valid for duration.
Cause: The DurationInvalidError or DurationNotIntegerError is raised when the duration parameter is not an integer.
Solution: Ensure the duration is a valid positive integer.
The value (inputted max attempt value) is not valid for max_attempt.
Cause: The MaxAttemptsInvalidError is raised when a non-number is sent for max_attempt parameter.
Solution: Provide a valid number for the max_attempt parameter.
Take It Now Errors
Take It Now is NOT Enabled for (Institution name)
Cause: The TakeItNowDisabledError is raised when the takeitnow feature is not enabled for an institution.
Solution: Contact ProctorU to enable the Take It Now feature for your institution.
The field takeitnow must be a string with a maximum length of 1.
Cause: The TakeItNowTooLongError is raised when the takeitnow field is longer than 1 character.
Solution: Use a single character for the takeitnow field.
User Profile Validation Errors
Invalid Country
Cause: The InvalidCountryError is raised when an invalid country code is provided.
Solution: Use a valid 2-character country code.
The field Country must be a string with a maximum length of 2.
Cause: The CountryCodeTooLongError is raised when the country code is longer than 2 characters.
Solution: Use a 2-character country code.
Invalid State
Cause: The InvalidStateError is raised when an invalid state is provided.
Solution: Use a valid state code.
The field State must be a string with a maximum length of 2.
Cause: The StateTooLongError is raised when the state code is longer than 2 characters.
Solution: Use a 2-character state code.
Invalid Phone1 / Invalid Phone2
Cause: The InvalidPhoneOneError or InvalidPhoneTwoError is raised when phone fields are invalid (not integers).
Solution: Provide valid phone numbers as integers.
The field phone1/phone2 must be a string with a maximum length of 15.
Cause: The PhoneOneTooLongError or PhoneTwoTooLongError is raised when phone fields exceed 15 characters.
Solution: Ensure phone numbers don't exceed 15 characters.
The field ZipCode must be a string with a maximum length of 10.
Cause: The ZipCodeTooLongError is raised when the zip code field exceeds 10 characters.
Solution: Use a zip code with 10 characters or fewer.
Invalid Email Address
Cause: The InvalidEmailAddressError is raised when the email parameter is invalid.
Solution: Provide a valid email address format.
duplicate email
Cause: The DuplicateEmailError is raised when an email parameter is already associated with another user in the ProctorU system.
Solution: Use a unique email address or update the existing user.
Password Validation Errors
Invalid Password
Cause: The InvalidPasswordError is raised for various password validation failures.
Solution: Ensure passwords meet all requirements:
- Not equal to username, email, phone number, first name, or last name
- Include 1 lowercase, 1 uppercase character, and 1 digit
- No character repeated more than 2 times
- Between 8 and 16 characters long
Miscellaneous Errors
Invalid Preset
Cause: The InvalidPresetError is raised when the preset option is invalid.
Solution: Use valid preset options: 'low', 'medium', or 'high' (case sensitive).
TimeZone not found.
Cause: The TimeZoneNotFoundError is raised when the time_zone_id parameter is invalid.
Solution: Use a valid time zone ID.
String was not recognized as a valid Boolean.
Cause: The InvalidBooleanError is raised when a boolean parameter is non-truthy.
Solution: Use valid boolean values (T, F, Y, N).
The field notify must be a string with a maximum length of 1.
Cause: The NotifyTooLongError is raised when the notify field is longer than 1 character.
Solution: Use a single character for the notify field.
Instructor name not found
Cause: The InstructorNameMissingError is raised when the instructor's first name and last_name are blank.
Solution: Provide both first and last name for the instructor.
start_date, end_date required/invalid or student required
Cause: The ClientActivityReportError is raised when a client activity report call does not have required parameters.
Solution: Include all required parameters: 'time_sent', 'start_date', 'end_date', 'student_id'.
Need Additional Help?
If you encounter an error not listed here or need further assistance, please contact ProctorU support with the specific error message and context of your API call.