This is an old revision of the document!


/api/applications/ID/tasks

HEAD, GET

List all tasks that have been generated for the application in question. Use the HEAD verb to see if there are any tasks yet. The X-Count header will indicate the number of tasks.

Tasks are created automatically for each application by the Business Rules Engine, depending on the rules set up for each client. The tasks can be completely customized in their title, description (e.g instructions) and available statuses for the applicant to pick.

:!: This subsystem of DreamApply will see some internal changes in the near future, hence only the critical functionalities have been exposed by the API in order to avoid possible back-compat breaks in otherwise non-critical areas. Namely - the class (type of task) and status name are exposed, along with some other metadata. These should provide for most use cases.

In the future, also the status descriptions will be exposed - titles, instructions, information about reminders etc.

Syntax

GET /api/applications/123/tasks
Host: apply.example.edu
Authorization: DREAM apikey="..."

Response headers

Content-Type: application/json
Content-Length: 1234
X-Count: 4

Response values

Name Notes
created Date when the task was created
reminded Date when the applicant was last reminded. If null then no reminders yet.
committed Date when the task was last saved by the applicant or admin (last modified). If null then has not yet been touched by anybody and is in it initial status.
resolved Date when the task was finally resolved. If null, then the task is still not resolved - a suffiently advanced status has not been assigned.
class This is essentially the type of the task.
status The status that is currently assigned to the task. Note that this is the name of the status and should be a reliable identifier. In some cases, the title (as opposed to the name) of the status that is actually displayed, may be different. Name of the status (here) should be as concise as possible, title may be much more verbose, along with an even more verbose description. So you may think of name as a 'slug'.
notes Notes made by applicant or admin, separately.

Response example

{
  "1": {
      "created": "2015-07-27T15:36:36+00:00",
      "reminded": null,
      "committed": "2015-07-27T17:36:36+00:00",
      "resolved": "2015-07-27T17:36:36+00:00",
      "class": "checklist-language-english",
      "status": "I have received my language test score",
      "notes": {
          "applicant": null,
          "administrator": "Seems to be good!"
      }
  },
  "5": {
      "created": "2015-07-27T15:36:36+00:00",
      "reminded": "2015-07-31T15:36:36+00:00",
      "committed": null,
      "resolved": null,
      "class": "checklist-passport",
      "status": "I have NOT yet attached my passport/ID card",
      "notes": {
          "applicant": "I need help",
          "administrator": null
      }
  }
}