---
title: "Bulk Provision Data"
method: POST
path: "/v2/installs/{installSid}/provision"
tags: ["Provision"]
---

# Bulk Provision Data

`POST /v2/installs/{installSid}/provision`

Provisions multiple types of data (e.g., courses, exams, enrollments) in a single bulk operation for the specified install.

## Path parameters

- `installSid` string, required — Install Sid

## Request body

- Model40
  - `course` ProvisionCourse, required — Course data
    - `ids` Ids, required — Contains course identifiers; only one ID type is allowed.
      - `sid` string
      - `api` string
      - `lms` string
      - `external` string
    - `title` union — Required if `sid` is NOT provided.
      - string
      - string
    - `code` union — Required if `sid` is NOT provided.
      - string, nullable
      - string, nullable
  - `user` ProvisionUser
    - `ids` Model35, required — Contains user identifiers; only one ID type is allowed.
      - `sid` string
      - `api` string
      - `lms` string
      - `external` string
    - `firstName` union — Required if `sid` is NOT provided.
      - string
      - string
    - `lastName` union — Required if `sid` is NOT provided.
      - string
      - string
    - `email` union — Must be a valid email. Required if `sid` is NOT provided.
      - string
      - string
    - `currencyCode` string, nullable — Currency code for the user, if not passed, will default to the currency set on the account.
    - `timeZone` string, nullable — Time zone of the user, if not passed, will default to the timezone set on the account.
  - `enrollment` ProvisionEnrollment — unresolved $ref
  - `exam` ProvisionExam — Exam schema ensuring required and optional fields meet validation criteria.
    - `ids` Model36, required — Exam IDs must contain either "sid" (EX+32 chars) or "external" (string).
      - `sid` string
      - `external` string
    - `title` union — Title is required if ids.sid is not provided.
      - string
      - string
    - `description` string, nullable
    - `type` 'online' | 'written'
    - `practice` boolean
    - `limitedScope` boolean
    - `deliverySystem` string, nullable — Must be validated against available systems.
    - `configuration` Model39 — Configuration for the exam. Optional unless IDs are required.
      - `ids` string
      - `type` 'primary' | 'accommodation'
      - `url` string, required
      - `access` Access, required — Defines access times for the exam.
        - `open` string, required
        - `close` string, required
      - `scheduling` Scheduling — Defines optional scheduling times.
        - `open` string
        - `close` string
      - `duration` integer, required — Duration in minutes.
      - `password` string, required
      - `attempts` integer
      - `notes` Notes
        - `student` string
        - `proctor` string
      - `proctorTypes` Model38, required — Proctoring options. TS+32 character ID keys. Options are optional but required for virtual settings.
      - `permittedItems` PermittedItems — Optional permitted items with notes.
  - `signon` ProvisionSignon — Optional signon object.. If provided, integrationSid must be present. This will return the signon information to redirect the user to.
    - `integrationSid` string, required — Required if signon is provided. Must start with "II" and be a 32-character alphanumeric string.

## Response `default`

Successful

- string

---

[API](https://skmtc.net/smarterproctoring/apis/smarterproctoring-api-2.md) · [All operations](https://skmtc.net/smarterproctoring/apis/smarterproctoring-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smarterproctoring/smarterproctoring-api-2/revisions/561e0d9fd244/schema)
