---
title: "Schedule Exam Session"
method: POST
path: "/v1/installs/{installSid}/exams/{examSid}/sessions/{sessionSid}"
tags: ["Exam Session"]
---

# Schedule Exam Session

`POST /v1/installs/{installSid}/exams/{examSid}/sessions/{sessionSid}`

## Request

- Base URL: `https://api.smarterproctoring.com`
- URL: `https://api.smarterproctoring.com/v1/installs/{installSid}/exams/{examSid}/sessions/{sessionSid}`
- Auth: API key in header `token`

Creates a scheduled exam session under the specified exam.

## Path parameters

- `installSid` string, required: Install Sid
- `examSid` string, required: Exam Sid
- `sessionSid` string, required: Exam Session Sid

## Request body

- ScheduleSession: The exam session schedule payload
  - `type` 'b-virtual' | 'ad-hoc' | 'instructor-as-proctor' | 'messaging' | 'register-blast' | 'vtc' | 'proctoru' | 'examity' | 'smarter-scheduling' | 'automated': Session type
  - `notes` string: Notes regarding session
  - `proctorLocationSid` string: The proctor location that is being scheduled for
  - `messageSid` string: The Message Thread that is being scheduled for
  - `currency` string: The 3 digit currency code
  - `amount` number: The amount the session costs in the currency that was provided
  - `cardToken` string: The Stripe token
  - `voucherCode` string: If a voucher code is to be used for this transaction
  - `company` string: The company name of the proctor
  - `firstName` string: The first name of the proctor or testing center contact
  - `lastName` string: The last name of the proctor or testing center contact
  - `email` string: The email address of the proctor or testing center contact
  - `phone` string: The phone number of the proctor or testing center contact
  - `address1` string: Ad-hoc proctor address line 1
  - `address2` string: Ad-hoc proctor address line 2
  - `place` string: Ad-hoc proctor place
  - `region` string: Ad-hoc proctor region
  - `country` string: Ad-hoc proctor country
  - `locationLatitude` string: Ad-hoc proctor location latitude
  - `locationLongitude` string: Ad-hoc proctor location longitude
  - `postalCode` string: Ad-hoc proctor postal code
  - `appointmentDateTime` string
  - `instructorProctorSid` string: instructor as proctor sid
  - `externalAppointmentId` string: External appointmentId for registarblast
  - `cancellationPolicyVersionSid` string: If a cancellationPolicyVersionSid is to be used for this session
  - `examLocale` string, nullable: Locale of the exam
  - `proctorTypeSubCategorySid` string: The proctor type that is being scheduled.

## Response `200`

Successful

- ExamSessionResponse
  - `sid` string, nullable: Session SID
  - `installSid` string, nullable: Install SID
  - `examSid` string, nullable: Exam SID
  - `enrollmentSid` string, nullable: Enrollment SID
  - `userSid` string, nullable: User SID
  - `courseSid` string, nullable: Course SID
  - `instructorProctorSid` string, nullable: Instructor proctor SID
  - `proctorTypeSid` string, nullable: Proctor type SID
  - `cancellationPolicySid` string, nullable: Cancellation policy SID
  - `cancellationPolicyVersionSid` string, nullable: Cancellation policy version SID
  - `status` string, nullable: Session status
  - `statusReason` string, nullable: Status reason
  - `accessKey` string, nullable: Access key
  - `duration` number, nullable: Duration
  - `sessionType` string, nullable: Session type
  - `schedulingModule` string, nullable: Scheduling module
  - `proctorReviewProcessSid` string, nullable: Proctor review process SID
  - `workflowModule` string, nullable: Workflow module
  - `appointmentDate` string, nullable: Appointment date
  - `appointmentEndDate` string, nullable: Appointment end date
  - `dateApproved` string, nullable: Date approved
  - `dateScheduled` string, nullable: Date scheduled
  - `createdDate` string, nullable: Created date
  - `inProgressDate` string, nullable: In progress date
  - `externalAppointmentId` string, nullable: External appointment ID
  - `externalReservedAppointmentId` string, nullable: External reserved appointment ID
  - `externalReservedAppointmentExpires` string, nullable: External reserved appointment expires
  - `externalAppointmentSyncDate` string, nullable: External appointment sync date
  - `editDate` string, nullable: Last modified date
  - `notes` string, nullable: Notes
  - `recordingStartDate` string, nullable: Recording start date
  - `account` string, nullable: Account details
  - `install` string, nullable: Install details
  - `deployment` string, nullable: Deployment details
  - `sessionReportCount` number, nullable: Session report count
  - `series` string, nullable: Session series
  - `reviewByDate` string, nullable: Review by date
  - `reviewByUserSid` string, nullable: Review by user SID
  - `reviewCompletedDate` string, nullable: Review completed date
  - `reviewRequired` boolean, nullable: Review required
  - `reviewCompleteNotificationUrl` string, nullable: Review complete notification URL
  - `reviewed` boolean, nullable: Reviewed
  - `proctorGroups` string, nullable: Proctor groups
  - `URL` string, nullable: Session URL
  - `examLocale` string, nullable: Exam locale
  - `platformVersion` string, nullable: Platform version
  - `systemCheckStartDate` string, nullable: System check start date
  - `systemCheckEndDate` string, nullable: System check end date
  - `modalityOptions` string, nullable: Modality options
  - `exam` string, nullable: Exam details
  - `enrollment` string, nullable: Enrollment details
  - `course` string, nullable: Course details
  - `examFile` string, nullable: Exam file
  - `returnedFile` string, nullable: Returned file
  - `photos` string, nullable: Photos
  - `sessionInfo` string, nullable: Session info
  - `auditStatus` string, nullable: Audit status
  - `appointmentAuditStatus` 'approved' | 'reviewed', nullable: Audit status of the appointment (null until audited)
  - `examUrl` string, nullable: Exam URL for this session
  - `password` string, nullable: Exam password for this session (not returned to learners)
  - `examConfiguration` string, nullable: Exam configuration
  - `proctor` string, nullable: Proctor details
  - `location` string, nullable: Location details
  - `appointment` string, nullable: Appointment details
  - `messagingConfirmations` string[], nullable: Messaging confirmations
  - `automated` string, nullable: Automated session data
  - `interoadsProvisionedExamUrl` string, nullable: Interroads provisioned exam URL
  - `proctorGroupSid` string, nullable: Proctor group SID
  - `mandatoryRoomScanVideo` boolean, nullable: Mandatory room scan video
  - `mutedAnnotations` string, nullable: Muted annotations
  - `browserExtensionVersion` string, nullable: Browser extension the session was started with

## Changes

- **2026-10-12** `da62d9723edd`: 3 info
  - added the optional property `appointmentAuditStatus` to the response with the `200` status
  - added the optional property `examUrl` to the response with the `200` status
  - added the optional property `password` to the response with the `200` status
- **2026-08-14** `d63e983a4898`: 1 info
  - added the optional property `browserExtensionVersion` to the response with the `200` status

[Operation history](https://skmtc.dev/smarterproctoring/apis/smarterproctoring-api/changes/v1/installs/:installSid/exams/:examSid/sessions/:sessionSid/post.md)

---

[API](https://skmtc.dev/smarterproctoring/apis/smarterproctoring-api.md) - [All operations](https://skmtc.dev/smarterproctoring/apis/smarterproctoring-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smarterproctoring/apis/smarterproctoring-api/revisions/8215e972c639?raw)
