POST
/
v2
/
installs
/
{installSid}
/
provision
Provisions multiple types of data in a single call.
curl --request POST \
  --url https://api.smarterproctoring.com/v2/installs/{installSid}/provision \
  --header 'Content-Type: application/json' \
  --header 'token: <api-key>' \
  --data '{
  "course": {
    "ids": {
      "sid": "<string>",
      "api": "<string>",
      "lms": "<string>",
      "external": "<string>"
    },
    "title": "<string>",
    "code": "<string>"
  },
  "user": {
    "ids": {
      "sid": "<string>",
      "api": "<string>",
      "lms": "<string>",
      "external": "<string>"
    },
    "firstName": "<string>",
    "lastName": "<string>",
    "email": "<string>",
    "currencyCode": "<string>",
    "timeZone": "<string>"
  },
  "enrollment": {
    "role": "learner"
  },
  "exam": {
    "ids": {
      "sid": "<string>",
      "external": "<string>"
    },
    "title": "<string>",
    "description": "<string>",
    "type": "online",
    "practice": false,
    "limitedScope": false,
    "deliverySystem": "<string>",
    "configuration": {
      "ids": "<string>",
      "type": "primary",
      "url": "<string>",
      "access": {
        "open": "<string>",
        "close": "<string>"
      },
      "scheduling": {
        "open": "<string>",
        "close": "<string>"
      },
      "duration": 123,
      "password": "<string>",
      "attempts": 1,
      "notes": {
        "student": "<string>",
        "proctor": "<string>"
      },
      "proctorTypes": {},
      "permittedItems": {}
    }
  },
  "signon": {
    "integrationSid": "<string>"
  }
}'
{
  "course": {
    "sid": "<string>",
    "result": "Created"
  },
  "user": {
    "sid": "<string>",
    "result": "Created"
  },
  "enrollment": {
    "sid": "<string>",
    "result": "Created"
  },
  "exam": {
    "sid": "<string>",
    "result": "Created"
  },
  "configuration": {
    "sid": "<string>",
    "result": "Created"
  },
  "signon": {
    "redirect": "<string>",
    "token": "<string>"
  }
}

Batch Provision Endpoint

The Batch Provision endpoint provides a powerful and efficient way to create multiple proctoring resources in a single API call. This streamlined approach allows Learning Management Systems (LMS) and assessment platforms to provision large volumes of data with SmarterProctoring while minimizing network overhead and simplifying integration workflows.

Overview

With the Batch Provision endpoint, you can simultaneously provision and manage:
  • Courses: Create course information including metadata, instructors, and configuration
  • Users: Provision students, instructors, and administrators with appropriate roles and permissions
  • Exams: Set up assessment details with specific proctoring requirements and settings
This endpoint is particularly valuable for initial system setup, semester transitions, or any scenario requiring bulk data synchronization between your platform and SmarterProctoring.

Implementation Guidance

When implementing the Batch Provision endpoint, consider structuring your requests to group related resources together and include all necessary reference identifiers to establish proper relationships between entities.

Response Features

In addition to confirmation of provisioned resources, the response includes:
  • SSO Links: Secure Single Sign-On (SSO) links for users that can be used to provide direct access to the SmarterProctoring platform without requiring additional authentication steps

Sample Request Payloads

Request Parameters

The Batch Provision endpoint accepts a JSON payload containing the following parameters:

Authorizations

token
string
header
required

Path Parameters

installSid
string
required

Install Sid

Body

application/json
course
object
required

Course data

user
object

User data object that will create a new user or update an existing user. If a subsequent course object is provide, the user will also be enrolled into the course.

enrollment
any

Enrollment object is optional but can only exist if user is provided.

exam
object

Exam schema ensuring required and optional fields meet validation criteria.

signon
object

Optional signon object.. If provided, integrationSid must be present. This will return the signon information to redirect the user to.

Response

200 - application/json

Successful provision operation

course
object
required
user
object
required
enrollment
object
required
exam
object
required
configuration
object
required
signon
object