/api/courses

HEAD, GET

List courses using the filters set as parameters. The number of courses is represented in the X-Count header - use the HEAD request to simply count the number of courses matching the filters. Use the GET request to actually fetch them.

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”.

Syntax

GET /api/courses
Host: apply.example.edu
Authorization: DREAM apikey="..."

Parameters

Name Description Notes
byStatuses Optional List of statuses, currently limited to: Online, Standby, Draft, Archived, Template, Closed [1]
byTypes Optional List of course types [1]
byModes Optional List of course modes [1]
  • Note [1]: Lists can be either comma or space separated. All list items are combined with logical OR operators - in other words an institution is considered matching if it matches to any of the values in the list.

Response headers

Content-Type: application/json
Content-Length: 1456
X-Count: 123

Response example

{
  "1": {
      "status": "Online",
      "updated": "2014-06-20T11:00:15+00:00",
      "institution": "/api/institutions/1",
      "intakes": {
          "1": "/api/intakes/1"
      },
      "featured": false,
      "type": "UG",
      "awards": [
          {
              "abbr": "BSc",
              "full": ""
          }
      ],
      "name": "Sample under-graduate course",
      "mode": "FT",
      "duration": "3 years",
      "credits": null,
      "language": "en",
      "country": "EE",
      "location": "Tallinn",
      "code": null,
      "quota": null,
      "prospect": {
          "uri": null
      }
  },
  "2": {
      "status": "Online",
      "updated": "2014-06-20T11:00:15+00:00",
      "institution": "/api/institutions/1",
      "intakes": {
          "1": "/api/intakes/1"
      },
      "featured": false,
      "type": "PG",
      "awards": [
          {
              "abbr": "MSc",
              "full": ""
          }
      ],
      "name": "Sample post-graduate course",
      "mode": "FT",
      "duration": "2 years",
      "credits": null,
      "language": "en",
      "country": "EE",
      "location": "Tallinn",
      "code": null,
      "quota": null,
      "prospect": {
          "uri": null
      }
  },
  "3": {
      "status": "Online",
      "updated": "2014-06-20T11:00:15+00:00",
      "institution": "/api/institutions/1",
      "intakes": {
          "1": "/api/intakes/1"
      },
      "featured": false,
      "type": "TU",
      "awards": [
          {
              "abbr": "BSc",
              "full": ""
          }
      ],
      "name": "Sample top-up course",
      "mode": "FT",
      "duration": "1 year",
      "credits": null,
      "language": "en",
      "country": "EE",
      "location": "Tallinn",
      "code": null,
      "quota": null,
      "prospect": {
          "uri": null
      }
  }
}

POST

Create a new blank course. This is useful when you want to automatically import a list of courses from another system into DreamApply. Please note however, that the needed fields for fully configuring an applicable course in DreamApply is quite long, including various settings for admission requirements, intakes, motivation letters, fees and so on. This data is typically not available in other systems, like Student Information Systems, at least not in the required depth. It is therefore recommended to use this API call to import a “basic list” of courses that will be then fine-tuned and fully configured using the dedicated GUI tools in DreamApply built for managing this data effectively.

The URI for the new course that was created is returned in the Location header.

Syntax

POST /api/applicants
Host: apply.example.edu
Authorization: DREAM apikey="..."

Parameters

Name Description
institution Required A valid institution ID in DreamApply (see the /api/institutions calls to learn it).
type Required Course type code (undergraduate, postgraduate, etc). Make a call to /api/classificators or use DreamApply GUI tools (System → Classificators) to learn possible Course type classificator values.
mode Required Course mode code (full time, part time, etc). Make a call to /api/classificators or use DreamApply GUI tools (System → Classificators) to learn possible Course mode classificator values.
name Required Up to 2048 characters.
awards_abbr Optional Abbreviation of the award (BSc, MSc, etc).
awards_full Optional Full name of the award (for example “Bachelor of Science”). Up to 2048 characters.
language Optional Accepts a 2-letter (alpha-2) ISO language code.
country Optional Accepts an ISO 3166-1 alpha-2 country code.
location Optional The location where the studies take place (city, district, etc). Up to 256 characters.
code Optional Can be any text to uniquely identify this course in another system, like a Study Information System or course catalogue. Up to 128 characters.
prospect_uri Optional An URL where the applicant can learn more about this course/programme.

Response headers

Content-Type: application/json
Content-Length: 0
Location: /api/applicants/12345

Response codes

201 Created New course was created
422 Unprocessable Entity There were some validation errors (see the returned text)