Courses
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 courses that have been added to this application.
/api/v9/applications/ID/coursesGET List courses
Get a list of course associations for the application in question.
An application can contain multiple courses (or “priorities”) that the applicant has chosen to apply to.
Courses is the technical name given to resources that applicants “can apply to”. In some educational systems students may apply to programmes, in others, to courses. Furthermore, in exchange setups courses represent the mobilities that can be applied to. In all these cases (course, programme, mobility etc.) the technical term will still remain “course”.
This request does not return the courses themselves, but rather represents the relationships between an application and the courses that have been added to it. Follow the course URI in the response to retrieve further information about the course in question.
GET /api/v9/applications/123/courses
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/courses"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Content-Length | 1456 | Size of the response body in bytes |
X-Count | 2 | Number of courses added to the application |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of courses was successfully returned |
Example response
{
"1": {
"priority": 1,
"submitted": "2025-09-29T07:44:26+00:00",
"deadline": "2025-06-01T23:59:59+00:00",
"course": "/api/v9/courses/1",
"intake": "/api/v9/intakes/2",
"modifier": null
},
"2": {
"priority": 2,
"submitted": "2025-10-02T12:31:47+00:00",
"deadline": "2025-06-01T23:59:59+00:00",
"course": "/api/v9/courses/2",
"intake": "/api/v9/intakes/2",
"modifier": "On-campus housing"
}
}POST Add a course to the application
Add a course (priority) to an application.
The added course is assigned the lowest priority in the application by default. To change the course priority, use PUT /api/v9/applications/ID/courses/ID/priority.
The course is added to the application regardless of the set course-level restrictions, such as territory requirements.
POST /api/v9/applications/ID/courses
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 course ID |
Example request
curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applications/123/courses?intake=1&course=2"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Location | /api/applications/123/courses/321 | URI of the added course |
Response codes
| Response code | Description |
|---|---|
201 Created | The course was successfully added to the application |
400 Bad Request | The course is already added to the application |
400 Bad Request | The request contains invalid or incompatible values, see the error description |