Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
api:manual [2018/11/23 14:52] – [List of API calls] Lauri Elevantapi:manual [2020/02/18 17:55] – [Authentication header] Lauri Elevant
Line 38: Line 38:
 That's it! We derive most of the security mechanism from the use of HTTPS, most notably confidentiality (of the API key as well as the data sent and received), integrity (data cannot be altered while "in transit") and mitigation against man-in-the-middle and re-play attacks. That's it! We derive most of the security mechanism from the use of HTTPS, most notably confidentiality (of the API key as well as the data sent and received), integrity (data cannot be altered while "in transit") and mitigation against man-in-the-middle and re-play attacks.
  
 +Here is a quick way to make your first API request:
 +  
 +  curl -v -X GET -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" https://apply.uni.edu/api/institutions
  
 +On the request above, ''apply.uni.edu'' is the domain for your DreamApply installation. It may also be in the form of "your-uni.dreamapply.com" if you have not yet configured the domain in DreamApply settings. Tip - you can add ''| python -m json.tool'' to the end of the command if you expect to receive JSON data (not all API queries return JSON) to prettify the output.
 ===== Versioning ===== ===== Versioning =====
  
Line 161: Line 165:
 | [[api:/api/applications/ID/documents|/api/applications/ID/documents]] | C | GET HEAD | Get a list of documents attached to this application | | [[api:/api/applications/ID/documents|/api/applications/ID/documents]] | C | GET HEAD | Get a list of documents attached to this application |
 | [[api:/api/applications/ID/documents/ID|/api/applications/ID/documents/ID]] | R | GET HEAD | Get a specific applicant document (binary data) | | [[api:/api/applications/ID/documents/ID|/api/applications/ID/documents/ID]] | R | GET HEAD | Get a specific applicant document (binary data) |
 +| [[api:/api/applications/ID/scores|/api/applications/ID/scores]] | C | GET HEAD | Get a list of scores for this application |
 | [[api:/api/applications/ID/studyplans|/api/applications/ID/studyplans]] | C | GET HEAD | Get a list of study plans attached to this application | | [[api:/api/applications/ID/studyplans|/api/applications/ID/studyplans]] | C | GET HEAD | Get a list of study plans attached to this application |
 | [[api:/api/applications/ID/studyplans/ID|/api/applications/ID/studyplans/ID]] | R | GET HEAD | Get a specific study plan attached to this application | | [[api:/api/applications/ID/studyplans/ID|/api/applications/ID/studyplans/ID]] | R | GET HEAD | Get a specific study plan attached to this application |
Line 173: Line 178:
 | [[api:/api/institutions/ID/departments|/api/institutions/ID/departments]] | C | GET HEAD | List departments under the given institution | | [[api:/api/institutions/ID/departments|/api/institutions/ID/departments]] | C | GET HEAD | List departments under the given institution |
 | [[api:/api/institutions/ID/departments/ID|/api/institutions/ID/departments/ID]] | R | GET HEAD | Show information about a given institution department | | [[api:/api/institutions/ID/departments/ID|/api/institutions/ID/departments/ID]] | R | GET HEAD | Show information about a given institution department |
-| [[api:/api/institutions/ID/contacts|/api/institutions/ID/contacts]] | C | GET HEAD | List contact persons under the given institution | 
-| [[api:/api/institutions/ID/contacts/ID|/api/institutions/ID/contacts/ID]] | R | GET HEAD | Show information about a given institution contact person | 
 | [[api:/api/courses|/api/courses]] | C | GET HEAD | List courses using filters set as parameters | | [[api:/api/courses|/api/courses]] | C | GET HEAD | List courses using filters set as parameters |
 | [[api:/api/courses/ID|/api/courses/ID]] | R | GET HEAD | More detailed information about a specific course | | [[api:/api/courses/ID|/api/courses/ID]] | R | GET HEAD | More detailed information about a specific course |
Line 192: Line 195:
 | [[api:/api/reports|/api/reports]] | C | GET HEAD | List all reports available | | [[api:/api/reports|/api/reports]] | C | GET HEAD | List all reports available |
 | [[api:/api/reports/ReportName|/api/reports/ReportName]] | R | GET HEAD | Request data from a specific report | | [[api:/api/reports/ReportName|/api/reports/ReportName]] | R | GET HEAD | Request data from a specific report |
 +| [[api:/api/scoresheets|/api/scoresheets]] | C | GET HEAD | List all scoresheets |
 +| [[api:/api/scoresheets/ID|/api/scoresheets/ID]] | R | GET HEAD | Get info about scoresheet |
 +| [[api:/api/scoresheets/ID/scores|/api/scoresheets/ID/scores]] | R | GET HEAD | Get scores |
 | [[api:/api/tableviews|/api/tableviews]] | C | GET HEAD | List all tableviews created with the GUI | | [[api:/api/tableviews|/api/tableviews]] | C | GET HEAD | List all tableviews created with the GUI |
 | [[api:/api/tableviews/ID|/api/tableviews/ID]] | R | GET HEAD | Get more information about a tableview | | [[api:/api/tableviews/ID|/api/tableviews/ID]] | R | GET HEAD | Get more information about a tableview |
Line 220: Line 226:
 ===== Throttling  ===== ===== Throttling  =====
  
-All API calls placed to the same API key are, by default, limited to **60 queries per minute** and **600 queries per hour**. Please note that 60 queries/minute is not the same as 1 query per second, see below.+All API calls placed to the same API key are, by default, limited to **180 queries per minute** and **600 queries per hour**. Please note that 60 queries/minute is not the same as 1 query per second, see below.
  
 If you exceed your API key queries-per-minute quota, you may start to receive ''429 Too Many Requests'' responses. This means that the request was **not** processed and will have to be issued again. If you exceed your API key queries-per-minute quota, you may start to receive ''429 Too Many Requests'' responses. This means that the request was **not** processed and will have to be issued again.