Applications
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 applications that have been submitted by the applicant.
URI
/api/v9/applicants/ID/wishesGET List applications
Get a list of applications that have been filed by the applicant in question.
Syntax
GET /api/v9/applicants/123/applications
Host: apply.example.edu
Authorization: DREAM apikey="..."Example request
Request
curl
curl \
-X GET \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applicants/123/applications"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 | 2 | Number of returned applications |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of applications was successfully returned |
Example response
Response
{
"60": {
"created": "2025-06-20T08:30:31+00:00",
"revised": "2025-06-20T08:30:31+00:00",
"submitted": null,
"status": "Prepare",
"commence_year": "2025",
"applicant": "/api/v9/applicants/60",
"flags": "/api/v9/applications/60/flags",
"courses": "/api/v9/applications/60/courses",
"offers": "/api/v9/applications/60/offers",
"exports": "/api/v9/applications/60/exports",
"documents": "/api/v9/applications/60/documents"
}
}POST Create an application
Create a new application with minimal initial data: intake and course.
Depending on the provided parameters, the request can result in two possible outcomes:
- Create a new application: If no application exists for the applicant and intake, a new standalone application is created
- Add a course to the application: If an application already exists for the applicant in the intake, the provided course is added to the application.
After creating an application, you can manage its content using the following requests:
- Add courses to the application:
POST/api/v9/applications/ID/courses - Set course priority:
PUT/api/v9/applications/ID/courses/ID/priority
Validation rules
The API validates the following conditions before processing the request:
- The applicant must have the citizenship set.
- The applicant must have the category set (if public categories are set up).
- The application limits must not be exceeded.
- An existing application must not be closed, withdrawn or expired.
The following limitations are not enforced during this request:
- Course-level restrictions (such as territory requirements)
- Intake limitations (such as category eligibility or territory-specific deadlines)
- Course status checks (for example,
Onlinevs.Standby)
If legacy business rules are enabled for the DreamApply instance, the request will be blocked.
Syntax
POST /api/v9/applicants/123/applications
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description |
|---|---|---|
intake | Required | The ID of the intake with which the course is associated |
course | Required | The ID of the course to be added to the application |
Example request
Request
curl
curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applicants/123/applications?intake=1&course=2"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | text/html; charset=UTF-8 | Media type of the resource |
Content-Length | 0 | Size of the response body in bytes |
Location | /api/applicants/123/applications/321 | URI of the created/updated application |
Response codes
| Response code | Description |
|---|---|
201 Created | A new application was successfully created/ The existing application was updated |
400 Bad Request | The required parameters are not set, see the error description |
400 Bad Request | A data validation check has failed, see the error description |
400 Bad Request | The course is already added to the application |