GET /institutes
List all institutes ( Premium - Superuser only )

Errors

Code Description
403 You are not authorized to access this page.

Examples

{
  'example_request_params': {
    'nonce': '1527500365',
    'timestamp': 1527500365052,
    'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff',
    'page': 1
  },
  'example_response': {
    'institutes': [
      {
        'id': 1,
        'name': 'ProctorExam',
        'created_at': '2018-08-20T15:11:09.284+02:00',
        'updated_at': '2019-01-22T10:30:59.794+01:00',
        'short_name': 'pe',
        'logo_image_file_name': null,
        'logo_image_content_type': null,
        'logo_image_file_size': null,
        'logo_image_updated_at': null,
        'callback_url': null,
        'tawk_url': null,
        'check_requirements_emails_enabled': true,
        'reminder_emails_enabled': true,
        'exam_link_emails_enabled': true,
        'exam_changed_emails_enabled': true,
        'exam_finalized_emails_enabled': true,
        'global_proctor': true,
        'global_reviewer': true,
        'token_value': 30,
        'tawk_api_key': null,
        'default_exam_languages': 'en-GB', //DEPRECATED! use default_language field instead
        'default_locale': 'en-GB', //DEPRECATED! use default_language field instead
        'default_language': 'en-GB',
        'custom_languages': ['no-NO'],
        'logo_image': '/logo_images/original/missing.png',
        'tokens': [],
        'session_retention_period': '6',
        'pre_assigned_proctor_fallback_threshold': 0,
        'connected_proctor_fallback_threshold': 0,
        'block_students_until_proctor_connected': false
      }
    ]
  }
}

Params

Param name Description
page
optional

Page number, returns LIMIT items per page. The X-Pagination-* HTTP headers contain the information about the total number of items (X-Pagination-Item-Count), the total number of pages (X-Pagination-Page-Count), the current page number (X-Pagination-Page) and the number of items per page (X-Pagination-Limit).

Validations:

  • Must be a number.

limit
optional

Number of items returned per page. Default and maximum value is 300.

Validations:

  • Must be a number.

timestamp
required

Timestamp of the request in milliseconds.

Validations:

  • Must be a number.

nonce
required

Random number unique between the api calls made in the previous 24 hours.

Validations:

  • Must be a number.

signature
required

HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string

Validations:

  • Must be a String

sort
optional

Sort by column(s). Stringified JSON constisting of an array of objects with column as key and sorting order as value. Example: sort=[{“column_name”: “asc”}, {“column_name”: “desc”}]

Validations:

  • Must be a String

filter
optional

Filter by column(s). Stringified JSON consisting of an object with column as key and an object with operator as key and filtering value as value. Example: filter={“column_name”: {“operator”: “value”}} available operators: eq(equal to), gt(greater than), gte(greater than or equal to), lt(less than), lte(less than or equal to), ne(not equal to), in(in), nin(not in)

Validations:

  • Must be a String


GET /institutes/:id
Show an institute

Errors

Code Description
404 Couldn't find Institute with 'id'=':id'
403 You are not authorized to access this page.

Examples

{
  'example_request_params': {
    'nonce': '1527500365',
    'timestamp': 1527500365052,
    'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff'
  },
  'example_response': {
    'institute': {
      'id': 1,
      'name': 'ProctorExam',
      'created_at': '2018-08-20T15:11:09.284+02:00',
      'updated_at': '2019-01-22T10:30:59.794+01:00',
      'short_name': 'pe',
      'logo_image_file_name': null,
      'logo_image_content_type': null,
      'logo_image_file_size': null,
      'logo_image_updated_at': null,
      'callback_url': null,
      'tawk_url': null,
      'check_requirements_emails_enabled': true,
      'reminder_emails_enabled': true,
      'exam_link_emails_enabled': true,
      'exam_changed_emails_enabled': true,
      'exam_finalized_emails_enabled': true,
      'global_proctor': true,
      'global_reviewer': true,
      'token_value': 30,
      'tawk_api_key': null,
      'default_exam_languages': 'en-GB', //DEPRECATED! use default_language field instead
      'default_locale': 'en-GB', //DEPRECATED! use default_language field instead
      'default_language': 'en-GB',
      'custom_languages': ['no-NO'],
      'logo_image': '/logo_images/original/missing.png',
      'tokens': [],
      'session_retention_period': '6',
      'pre_assigned_proctor_fallback_threshold': 0,
      'connected_proctor_fallback_threshold': 0,
      'block_students_until_proctor_connected': false
    }
  }
}

Params

Param name Description
id
required

ID of the requested institute.

Validations:

  • Must be a number.

timestamp
required

Timestamp of the request in milliseconds.

Validations:

  • Must be a number.

nonce
required

Random number unique between the api calls made in the previous 24 hours.

Validations:

  • Must be a number.

signature
required

HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string

Validations:

  • Must be a String


POST /institutes
Create an institute ( Premium - Superuser only )

Errors

Code Description
403 You are not authorized to access this page.
422 Param is missing or the value is empty: 'param'
422 'name':['has already been taken']

Examples

{
  'example_request_params': {
    'name': 'ProctorExam',
    'short_name': 'pe',
    'global_proctor': true,
    'global_reviewer': true,
    'nonce': '1527500365',
    'timestamp': 1527500365052,
    'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff'
  },
  'example_response': {
    'institute': {
      'id': 1,
      'name': 'ProctorExam',
      'created_at': '2018-08-20T15:11:09.284+02:00',
      'updated_at': '2019-01-22T10:30:59.794+01:00',
      'short_name': 'pe',
      'logo_image_file_name': null,
      'logo_image_content_type': null,
      'logo_image_file_size': null,
      'logo_image_updated_at': null,
      'callback_url': null,
      'tawk_url': null,
      'check_requirements_emails_enabled': true,
      'reminder_emails_enabled': true,
      'exam_link_emails_enabled': true,
      'exam_changed_emails_enabled': true,
      'exam_finalized_emails_enabled': true,
      'global_proctor': true,
      'global_reviewer': true,
      'token_value': 30,
      'tawk_api_key': null,
      'default_exam_languages': 'en-GB', //DEPRECATED! use default_language field instead
      'default_locale': 'en-GB', //DEPRECATED! use default_language field instead
      'default_language': 'en-GB',
      'custom_languages': ['no-NO'],
      'logo_image': '/logo_images/original/missing.png',
      'tokens': [],
      'session_retention_period': '6',
      'pre_assigned_proctor_fallback_threshold': 0,
      'connected_proctor_fallback_threshold': 0,
      'block_students_until_proctor_connected': false
    }
  }
}

Params

Param name Description
name
required

Full name of the institute.

Validations:

  • Must be a String

short_name
required

Short name of the institute.

Validations:

  • Must be a String

callback_url
optional

Endpoint to receive the event callbacks.

Validations:

  • Must be a String

global_proctor
optional

True if global proctoring is set for the institute.

Validations:

  • Must be one of: true, false, 1, 0.

global_reviewer
optional

True if global reviewing is set for the institute.

Validations:

  • Must be one of: true, false, 1, 0.

tawk_url
optional

Url of the institute’s tawk support.

Validations:

  • Must be a String

logo_image
optional

Logo of the institute, uploaded with multipart.

Validations:

  • Must be a File

default_exam_languages
optional
DEPRECATED! Use default_language instead

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

default_locale
optional
DEPRECATED! Use default_language instead

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

default_language
optional

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

session_retention_period
optional

Student session retention period in months, default: 6.

Validations:

  • Must be a number.

pre_assigned_proctor_fallback_threshold
optional

Number in minutes. Students who are pre-assigned to a proctor will be switched to auto-assignment if the pre-assigned proctor cannot be connected within the given time (minimum 1 minute). Setting this to 0 means students will not be live proctored until the pre-assigned proctor comes online and therefore gets connected. Default is 0

Validations:

  • Must be a number.

connected_proctor_fallback_threshold
optional

Number in minutes. Students who are already being live proctored will be switched to auto-assignment if the connected proctor cannot be reached within the configured time period (minimum 1 minute). Setting this to 0 means students will continue to not be live proctored until the previously connected proctor comes back online again. Default is 0

Validations:

  • Must be a number.

block_students_until_proctor_connected
optional

Enable this switch in order to prevent students from entering the exam room before a live proctoring connection is established. Default is false

Validations:

  • Must be one of: true, false, 1, 0.

timestamp
required

Timestamp of the request in milliseconds.

Validations:

  • Must be a number.

nonce
required

Random number unique between the api calls made in the previous 24 hours.

Validations:

  • Must be a number.

signature
required

HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string

Validations:

  • Must be a String


PATCH /institutes/:id
Update an institute

PUT /institutes/:id
Update an institute

Errors

Code Description
404 Couldn't find Institute with 'id'=':id'
403 You are not authorized to access this page.

Examples

{
  'example_request_params': {
    'callback_url': 'https://callback_url.com'
    'nonce': '1527500365',
    'timestamp': 1527500365052,
    'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff'
  },
  'example_response': {
    'institute': {
      'id': 1,
      'name': 'ProctorExam',
      'created_at': '2018-08-20T15:11:09.284+02:00',
      'updated_at': '2019-01-22T10:30:59.794+01:00',
      'short_name': 'pe',
      'logo_image_file_name': null,
      'logo_image_content_type': null,
      'logo_image_file_size': null,
      'logo_image_updated_at': null,
      'callback_url': 'https://callback_url.com',
      'tawk_url': null,
      'check_requirements_emails_enabled': true,
      'reminder_emails_enabled': true,
      'exam_link_emails_enabled': true,
      'exam_changed_emails_enabled': true,
      'exam_finalized_emails_enabled': true,
      'global_proctor': true,
      'global_reviewer': true,
      'token_value': 30,
      'tawk_api_key': null,
      'default_exam_languages': 'en-GB', //DEPRECATED! use default_language field instead
      'default_locale': 'en-GB', //DEPRECATED! use default_language field instead
      'default_language': 'en-GB',
      'custom_languages': ['no-NO'],
      'logo_image': '/logo_images/original/missing.png',
      'tokens': [],
      'session_retention_period': '6',
      'pre_assigned_proctor_fallback_threshold': 0,
      'connected_proctor_fallback_threshold': 0,
      'block_students_until_proctor_connected': false
    }
  }
}

Params

Param name Description
id
required

ID of the requested institute.

Validations:

  • Must be a number.

callback_url
optional

Url of the institute.

Validations:

  • Must be a String

global_proctor
optional

True if global proctoring is set for the institute.

Validations:

  • Must be one of: true, false, 1, 0.

global_reviewer
optional

True if global reviewing is set for the institute.

Validations:

  • Must be one of: true, false, 1, 0.

tawk_url
optional

Url of the institute’s tawk support.

Validations:

  • Must be a String

logo_image
optional

Logo of the institute, uploaded with multipart.

Validations:

  • Must be a File

default_exam_languages
optional
DEPRECATED! Use default_language instead

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

default_locale
optional
DEPRECATED! Use default_language instead

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

default_language
optional

Default to provide default exam language, eg: en-GB.

Validations:

  • Must be a String

pre_assigned_proctor_fallback_threshold
optional

Number in minutes. Students who are pre-assigned to a proctor will be switched to auto-assignment if the pre-assigned proctor cannot be connected within the given time (minimum 1 minute). Setting this to 0 means students will not be live proctored until the pre-assigned proctor comes online and therefore gets connected. Default is 0

Validations:

  • Must be a number.

connected_proctor_fallback_threshold
optional

Number in minutes. Students who are already being live proctored will be switched to auto-assignment if the connected proctor cannot be reached within the configured time period (minimum 1 minute). Setting this to 0 means students will continue to not be live proctored until the previously connected proctor comes back online again. Default is 0

Validations:

  • Must be a number.

block_students_until_proctor_connected
optional

Enable this switch in order to prevent students from entering the exam room before a live proctoring connection is established. Default is false

Validations:

  • Must be one of: true, false, 1, 0.

timestamp
required

Timestamp of the request in milliseconds.

Validations:

  • Must be a number.

nonce
required

Random number unique between the api calls made in the previous 24 hours.

Validations:

  • Must be a number.

signature
required

HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string

Validations:

  • Must be a String


DELETE /institutes/:id
Destroy an institute ( Premium - Superuser only )

Errors

Code Description
404 Couldn't find Institute with 'id'=':id'
403 You are not authorized to access this page.

Examples

{
  'example_request_params': {
    'nonce': '1527500365',
    'timestamp': 1527500365052,
    'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff'
  },
  'example_response': {}
}

Params

Param name Description
id
required

ID of the requested institute.

Validations:

  • Must be a number.

timestamp
required

Timestamp of the request in milliseconds.

Validations:

  • Must be a number.

nonce
required

Random number unique between the api calls made in the previous 24 hours.

Validations:

  • Must be a number.

signature
required

HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string

Validations:

  • Must be a String