This API allows for the CRUD of the described resources and the student_sessions for the exam.
The current V3 API is set under /api/v3 of the application domain.
The Accept header must also be set to “application/vnd.procwise.v3”.
Authentication token has to be part of the request. It needs to be passed in the Authorization header.
Example:
Authorization: “Token token=YourToken”
Filtering and sorting can be done on the index endpoints. The filter and sort parameters are passed as query string parameters in the format of stringified JSON. More examples can be found in the parameters documentation of the specific endpoints.
Example:
domain/api/v3/exams?filter={“start_time”:{“gte”:“2025-02-01”}}&sort=[{“start_time”:“desc”},{“name”:“asc”}]
Resource | Description |
---|---|
GET /exams/:exam_id/attachments | List attachments |
GET /exams/:exam_id/attachments/:id | Show an attachment |
POST /exams/:exam_id/attachments | Create an attachment using multipart |
DELETE /exams/:exam_id/attachments/:id | Destroy an attachment |
Resource | Description |
---|---|
GET /exams/:exam_id/documents | List documents |
GET /exams/:exam_id/documents/:id | Show a document |
POST /exams/:exam_id/documents | Create a document |
PATCH /exams/:exam_id/documents/:id | Update a document |
PUT /exams/:exam_id/documents/:id | Update a document |
DELETE /exams/:exam_id/documents/:id | Destroy a document |
Resource | Description |
---|---|
GET /exams | List exams |
GET /exams/:id | Show an exam |
POST /exams | Create an exam |
PATCH /exams/:id | Update an exam |
PUT /exams/:id | Update an exam |
DELETE /exams/:id | Destroy an exam |
GET /exams/:id/index_students | (Deprecated) List the students in an exam |
GET /exams/id/show_student | (Deprecated) Show a student in an exam |
GET /exams/:id/show_lti_student | Show a student in an lti exam |
POST /exams/:id/add_student | (Deprecated) Create and add a student to an exam |
DELETE /exams/:id/delete_student | (Deprecated) Destroy and remove a student from an exam |
POST /exams/:id/send_emails | Send the exam emails for all the students in an exam |
PUT /exams/:id/add_comanager | Add a user as a comanager to an exam |
DELETE /exams/:id/remove_comanager | Remove a user as a comanger to an exam |
PUT /exams/:id/generate_exam_documents_zip | Request a job to create a zip file of all uploaded files by students. This endpoint does not return body. |
GET /exams/:id/status_exam_documents_zip | Check the status of existing job. Possible zip_job_status values are not_found, never_run, failure, queued, running, and success. |
GET /exams/:id/download_exam_documents_zip | Download the zip file. Before calling method clients should check if job status endpoint returns success. Successful response body of this endpoint is a binary file. |
Resource | Description |
---|---|
GET api/v3/identity_providers | List all identity provider configurations. |
Resource | Description |
---|---|
GET /institutes | List all institutes ( Premium - Superuser only ) |
GET /institutes/:id | Show an institute |
POST /institutes | Create an institute ( Premium - Superuser only ) |
PATCH /institutes/:id | Update an institute |
PUT /institutes/:id | Update an institute |
DELETE /institutes/:id | Destroy an institute ( Premium - Superuser only ) |
Resource | Description |
---|---|
GET api/v3/lti_resources | List all lti_resources. This is the term used in the API for LTI connections. |
GET api/v3/lti_resources/:id | Show a lti resource by its id |
POST api/v3/lti_resources | Create a lti resource |
PATCH api/v3/lti_resources/:id | Update a lti resource |
PUT api/v3/lti_resources/:id | Update a lti resource |
DELETE api/v3/lti_resources/:id | Destroy a lti resource |
Resource | Description |
---|---|
GET /exams/:exam_id/student_sessions | List the students in an exam |
GET /student_sessions | List all student_sessions |
GET /student_sessions/:id | Show a student by its id |
POST /exams/:exam_id/student_sessions | Create and add a student to an exam |
PATCH /student_sessions/:id | Update a student |
PUT /student_sessions/:id | Update a student |
DELETE /student_sessions/:id | Destroy and remove a student from an exam |
POST /student_sessions/:id/end_exam | Ends a student session, stops the recordings and sends a notification to the student |
DELETE /student_sessions/:id/id_card | Destroy the ID photo of a student |
DELETE /student_sessions/:id/face_photo | Destroy the face photo of a student |
GET /student_sessions/:id/face_photo | Get a expiring url, lasting for 5 minutes, for the face_photo of the student |
POST /student_sessions/:id/assign_proctor | Assigns proctor to a student session |
DELETE /student_sessions/:id/assigned_proctor | Unassigns proctor from a student session |
Resource | Description |
---|---|
GET api/v3/tool_providers | List all tool_providers. This is the term used in the API for External Platforms. |
GET api/v3/tool_provider/:id | Show a tool provider by its id |
POST api/v3/tool_providers | Create a tool provider |
PATCH api/v3/tool_providers/:id | Update a tool provider |
PUT api/v3/tool_providers/:id | Update a tool provider |
DELETE api/v3/tool_providers/:id | Destroy a tool provider that no longer have Lti Resources linked to exams |
Resource | Description |
---|---|
GET /institutes/:institute_id/users | List users |
GET /institutes/:institute_id/users/:id | Show an user |
POST /institutes/:institute_id/users | Create an user |
PATCH /institutes/:institute_id/users/:id | Update an user |
PUT /institutes/:institute_id/users/:id | Update an user |
DELETE /institutes/:institute_id/users/:id | Destroy an user |