Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

Create an assignment

Create a new assignment to hold feedback and (optionally) submissions.

Permission requirements

The user must have Permissions.Assignment.Create ("Add an assignment") on the module that the assignment will be created under. By default, roles that have this permission are:

  • Module Assistant
  • Module Manager
  • Departmental Administrator
  • User Access Manager

Information about API permissions

Definition

POST https://tabula.warwick.ac.uk/api/v1/module/:moduleCode/assignments

The request Content-Type must be set to application/json

URL substitution variables

:moduleCode The lowercase form of the module code for module to create the assignment in, e.g. cs118

Request parameters

name Required A name for the assignment, must be unique amongst non-archived assignments
academicYear Optional The academic year that the assignment is for, in the format yy/yy - e.g. 13/14. If not provided will default to the current academic year.
openDate Optional The date that the assignment is open for submission, in ISO date format. If not provided - for open ended assignments will be set to the current date; for non open ended ones will be set to 2 weeks earlier than close date.
closeDate Optional The date that the assignment closes, in ISO date format. closeDate is Required unless openEnded is true
closeTime Optional The time that the assignment closes, in ISO time format (hh:mm:ss). If omitted the assignment will close at 12:00:00. As per an amendment to University Regulation 36.3, assignments must close between 10:00:00 and 16:00:00.
openEnded Optional A boolean value, set to true if the assignment never closes after it's been opened.
Default: false
collectMarks Optional A boolean value for whether the assignment should collect marks. If not, no mark or grade options will be available.
Default: true
markingWorkflow Optional The unique ID of a marking workflow to use for this assignment. The workflow must be created in the Department
feedbackTemplate Optional The unique ID of a feedback template to use for this assignment. The template must be created in the Department
summative Optional A boolean value, set to true if the assignment is credit-bearing (summative), false otherwise (formative). Formative assignments are not considered in 20-day feedback turnaround reports.
Default: true
dissertation Optional A boolean value, set to true if the assignment is a dissertation. Dissertations are not considered in 20-day feedback turnaround reports.
Default: false
collectSubmissions Optional A boolean value for whether the assignment should collect submissions. If not, no submission options will be available.
Default: true
displayPlagiarismNotice Optional true if the plagiarism notice should be displayed to students when submitting, false otherwise
Default: true
restrictSubmissions Optional true if only students who are in the student membership should be allowed to submit, false otherwise (anyone with the URL can submit)
Default: false
allowLateSubmissions Optional true if late submission should be allowed for students who have not previously submitted, false otherwise
Default: true
allowResubmission Optional true if students shoule be allowed to resubmit up to the deadline, false otherwise
Default: true
allowExtensions Optional true if students should be allowed to request extensions (and the Department allows it), false otherwise
Default: true
fileAttachmentLimit Optional An Integer for the maximum number of attachments a student can submit. Must be 1 or more.
Default: 1
fileAttachmentTypes Optional An array of strings containing file extensions that students are allowed to submit. If empty, students can submit any file
Default: []
submissionFormText Optional Text displayed to students when submitting
Default: ""
wordCountMin Optional The minimum word count a student must declare to be able to submit, or null if word counts aren't required or there is no lower limit
Default: null
wordCountMax Optional The maximum word count a student must declare to be able to submit, or null if word counts aren't required or there is no upper limit
Default: null
wordCountConventions Optional Text displayed to student when they submit their word count
Default: "Exclude any bibliography or appendices."

Example request

{
  "academicYear": "13/14",
  "name": "My assignment",
  "openDate": "2013-11-05",
  "closeDate": "2014-01-27"
}

Response parameters

An unsuccessful response will be returned in the standard format. A successful response will return the HTTP code 201 Created. The Location header will be the API endpoint of the individual assignment and the JSON metadata of the created assignment, with the following parameters:

success Boolean true
status The string "ok"
assignment An assignment object representing the assignment

Example response

{
  "success": true,
  "status": "ok",
  "assignment": {
    "id": "2552f556-6210-4de7-bb8e-01a3180f609e",
    "archived": false,
    "academicYear": "13/14",
    "name": "Coursework",
    "studentUrl": "https://tabula.warwick.ac.uk/coursework/module/es173/2552f556-6210-4de7-bb8e-01a3180f609e/",
    "collectMarks": true,
    "markingWorkflow": null,
    "feedbackTemplate": null,
    "summative": true,
    "dissertation": false,
    "collectSubmissions": true,
    "displayPlagiarismNotice": false,
    "restrictSubmissions": true,
    "allowLateSubmissions": true,
    "allowResubmission": true,
    "allowExtensions": true,
    "fileAttachmentLimit": 1,
    "fileAttachmentTypes": [],
    "submissionFormText": "Submit this",
    "wordCountMin": null,
    "wordCountMax": null,
    "wordCountConventions": "",
    "submissions": 1,
    "unapprovedExtensions": 0,
    "studentMembership": {
      "total": 8,
      "linkedSits": 0,
      "included": 8,
      "excluded": 0
    },
    "sitsLinks": [],
    "openEnded": false,
    "opened": true,
    "closed": true,
    "openDate": "2013-11-05T00:00:00Z",
    "closeDate": "2014-01-27T10:00:00Z",
    "feedbackDeadline": "2014-02-24",
    "feedback": 1,
    "unpublishedFeedback": 1
  }
}

Tabula API Methods