Tasks
API version
Select a version to change the base URI
in syntax and code examples. Learn about versions:
in syntax and code examples. Learn about versions
Represents a list of tasks created for the application.
/api/v9/applications/ID/tasksGET List tasks
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.
GET /api/v9/applications/123/tasks
Host: apply.example.edu
Authorization: DREAM apikey="..."Example request
curl \
-X GET \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applications/123/tasks"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Content-Length | 1234 | Size of the response body in bytes |
X-Count | 4 | Number of tasks created for this application |
Response values
| Name | Description |
|---|---|
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 its initial status. |
resolved | Date when the task was finally resolved. If null, then the task is still not resolved - a sufficiently 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 the name as a ‘slug’. |
notes | Notes made by applicant or admin, separately. |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of tasks was successfully returned |
Example response
{
"20": {
"id": 20,
"created": "2025-12-03T13:11:08+00:00",
"reminded": "2025-15-03T13:10:00+00:00",
"committed": null,
"resolved": null,
"class": "checklist-language-english",
"title": "Proof of English language proficiency",
"status": "I have NOT yet taken a language test",
"notes": {
"applicant": "I need help",
"administrator": null
}
},
"21": {
"id": 21,
"created": "2025-12-03T13:11:08+00:00",
"reminded": "2025-15-03T13:10:00+00:00",
"committed": null,
"resolved": null,
"class": "checklist-entry-se",
"title": "Entry qualification documents",
"status": "I have finished high school / secondary school. I am preparing the documents for submission (final diploma and academic records)",
"notes": {
"applicant": null,
"administrator": "Looks good!"
}
}
}POST Assign a task
Create a new task for the application in question. If required in the task template (class), a notice/reminder will also be sent to the applicant.
POST /api/v9/applications/123/tasks
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description |
|---|---|---|
taskClassID | Required | The ID of the task template (class) to use |
Example request
curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applications/123/tasks?taskClassID=15"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Content-Length | 0 | Size of the response body in bytes |
Location | /api/applications/123/tasks/321 | URI of the assigned task |
Response codes
| Response code | Description |
|---|---|
201 Created | A new task was created, see also the returned Location header |
409 Conflict | A task form this template (class) already exists in this application |