Course

Represents a course and application association.

URI
/api/v9/applications/ID/courses/ID

GET Get a course

A request with the GET verb returns some additional information about the course association (priority, date submitted etc.). Use the HEAD verb to test if the application in question has this course.

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 course itself, but rather represents the relationships between the application and the course. Follow the course URI in the response to retrieve further information about the course in question.

Syntax
GET /api/v9/applications/123/courses/1
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/applications/123/courses/1"

Response headers

HeaderValueDescription
Content-Typeapplication/jsonMedia type of the resource
Content-Length1234Size of the response body in bytes
Response codeDescription
200 OKThe course is being applied to with this application
404 Not FoundThe application does not have this course

Example response

Response
{
    "priority": 1,
    "submitted": "2025-10-02T12:31:47+00:00",
    "deadline": "2025-06-01T23:59:59+00:00",
    "course": "/api/v9/courses/1",
    "intake": "/api/v9/intakes/2",
    "modifier": "On-campus housing"
}

DELETE Delete a course

Delete a course (priority) from the application.

When a course is deleted, the API automatically reorders existing priorities to maintain a valid sequence.

This request does not delete the course itself. It only removes its association with the application in question.

Syntax
DELETE /api/v9/applications/123/courses/1
Host: apply.example.edu
Authorization: DREAM apikey="..."

Example request

Request
curl
curl \
  -X DELETE \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v9/applications/123/courses/1"

Response headers

HeaderValueDescription
Content-Typetext/plainMedia type of the resource
Content-Length0Size of the response body in bytes

Response codes

Response codeDescription
204 No ContentThe course was successfully deleted
404 Not FoundThe application does not have this course